Я инженер по автомобильным вопросам, и моя компания решила купить аппаратное обеспечение, для которого API был только на C++ (я получил неидентифицированные DLL и файлы заголовков). Проблема в том, что я только закодирован на C#, и большинство наших приложений очень легко создавать, поскольку поставщик оборудования всегда дает нам API в C# (управляемая dll). Теперь мне нужно преобразовать все функции в неизменной dll в функции C#. Это происходит гладко, пока я не наткнулся наПортирование структуры C++ на C# (из неуправляемой dll)
typedef struct can_msg
{
unsigned short ide; // Standard/extended msg
unsigned int id; // 11 or 29 bit msg id
unsigned short dlc; // Size of data
unsigned char data[CAN_MSG_DATA_LEN]; // Message pay load
unsigned short rtr; // RTR message
} can_msg_t;
Я понятия не имею, как использовать его, как эта структура не является аргументом для функции, например:
VTC1010_CAN_BUS_API int CAN_Transmission(can_msg_t *msg);
Пожалуйста, помогите ребята. Не начинай избивать меня из-за моей нехватки знаний. Я пытался найти, но все это слишком сложно для меня.
Вы уже знайте, как выглядят короткие и int. Char [] требует 'фиксированных байтовых данных [что-то]'. –