파이썬에서 확장 한 C 코드가 있습니다. 확장 된 C 코드는 이진 파일에 구조를 추가하는 함수를 가지고 있습니다 :파이썬과 C 파일을 동시에 읽고 쓸 수 있음
void writefunction(const struct struct1* some,const u_char* struct2){
f=fopen('save.bin',"ab");
if(f==NULL){
printf("Unable to open file");
exit(-1);
}
fwrite(some,sizeof(struct struct1),1,f);
fwrite(struct2,sizeof(u_char),4,f);
fclose(f);
}
이제 파이썬에서 코드를 가져 왔습니다. 파이썬에서 두 개의 스레드를 시작하고 싶습니다. 하나는이 writefunction()을 실행하고 다른 하나는 같은 파일을 읽습니다. 쓰기 함수는 한 스레드에서 올바르게 작동하지만 파일에서 읽는 Python 함수가 작동하지 않습니다.
내가 뭘 잘못하고 있니?
왜이 작업을 수행하려고? 한 스레드에서 다른 스레드로 데이터를 전달하려고합니까, 아니면 파일을 쓰는 이유가 있습니까? – steveha
파이썬 코드 란 무엇이며 작동하지 않는 것은 무엇입니까? –
파이썬 코드는 단순히 파일을 읽는 코드입니다. 스레드에서 C와 Python 함수를 모두 실행하려고합니다. 이것은 c write 함수가 c로만 수행 할 수있는 무언가를 작성하기 때문입니다. –