Помощь!
Я полностью измотан / разочарован тем, что кажется довольно простой задачей. Я не уверен, что я делаю неправильно; не говоря уже о том, если я делаю это правильно. Мне «необходимо» использовать существующую библиотеку (статическая библиотека C - более 100 000 строк прямого кода C) при разработке приложения WPF (VS 2010, C # 4.0). О, и я не могу прикоснуться к существующему коду C - используй его как есть!
Я прочитал так много сообщений (сложные темы, инструкции и т. Д.), Но я настолько новичок в C ++ / CLI, что это просто не имеет смысла. Из того, что я прочитал, лучший подход - обернуть статическую библиотеку C следующим образом:
Статическая библиотека неуправляемого C <---> DLL-библиотека управляемой оболочки C ++ / CLI <--->
управляемое приложение WPF
Это сокращенный заголовочный файл C:
/* Call this function to execute a command. */
int issue_command(int command, long param1, long param2);
/* Completion call back function; you must supply a definition. */
extern int command_completed(int command, long param1, long param2);
struct struct_command_str
{
char command_str[10];
char param1_st[2];
char param2_st[2];
char success;
};
/* You must supply definitions to the following extern items. */
extern int command_status;
extern struct struct_command_str command_str;
Проблема (ы):
Что я не могу сделать правильно, так это предоставить реализацию C ++ / CLI для функций обратного вызова и два внешних элемента (command_status
и struct command_str
).
Может ли кто-нибудь предоставить пример реализации C ++ / CLI для вышеуказанных отсутствующих функций обратного вызова и внешних элементов?
Заранее благодарим за помощь.