0
我想寫一個libedit(一個BSD替代readline與略有不同的API)的包裝,並且有一種方法來添加一個命名函數到C API。包裝C函數,期望C動態回調
例如,在C:
static unsigned char show_help(EditLine *e, int ch) {
printf("Help");
}
el = el_init(argv[0], stdin, stdout, stderr);
el_set(el, EL_ADDFN, "help", "This is help", show_help);
el_set(el, EL_BIND, "\?", "help", NULL);
我打電話el_set添加一個函數,然後稍後結合該功能。
我找不到一個很好的方法來讓我包裝EL_ADDFN來動態地綁定Python方法。我可以創建一堆預先命名的C函數,並將它們全部單獨封裝到python方法中,但我更願意儘可能地模擬C API。
有沒有辦法調用EL_ADDFN並確定它正在調用哪個python方法?