Current the c exposed the nvm_file , and python set the value and get value correct, but it changed after add the log info or other function?
C part
char *nvm_file = "./results/test01";
void get_file(void)
{
printf("\nget file:%p %s\n", &nvm_file, nvm_file);
}
void set_file(char *file_name)
{
nvm_file = file_name;
printf("\nset file:%p %s\n", &nvm_file, nvm_file);
}
python part
def test_file():
file_name = './results/plc_core_retain_test_result06'
libc.set_file(c_char_p(file_name.encode('utf-8')))
log.debug("test")
libc.get_file()
it work fine without "log.debug("test")",
set file:0x7fbc6a5d33c0 ./results/plc_core_retain_test_result06
get file:0x7fbc6a5d33c0 ./results/plc_core_retain_test_result06
but the value was incorrect after add the log line
set file:0x7fe49aeed3c0 ./results/plc_core_retain_test_result06
get file:0x7fe49aeed3c0 �/result