C # DllImport help (Mac Os) - PullRequest
       5

C # DllImport help (Mac Os)

1 голос
/ 07 февраля 2011

Я разрабатываю приложение в Mac Os X на C # (с моно), мне нужно взаимодействовать с некоторыми функциями, но я не знаю, как я могу это сделать ..

У меня естьсделал простое приложение в C, но теперь мне нужно сделать то же самое в C #, я знаю, что я должен использовать DllImport, но я не знаю, как я могу это сделатьдля вызова в C # это:

mach_vm_read(vm_map_t target_task, mach_vm_address_t address, mach_vm_size_t size, vm_offset_t *data. mach_msg_type_number_t *data_count);

определяется в одном из этих файлов

#include <mach/mach.h>
#include <mach/mach_vm.h>

Спасибо

Ответы [ 2 ]

1 голос
/ 07 февраля 2011

Вы можете объявить и вызвать метод в C #, декорировав вызов метода атрибутом [DllImport ()], например так (при условии, что ваш метод, который вы хотите вызвать, действительно является статическим методом и не имеет возвращаемого типа):

[DllImport("YourDll.dll")]
public static extern void mach_vm_read(vm_map_t target_task, mach_vm_address_t address, mach_vm_size_t size, vm_offset_t *data. mach_msg_type_number_t *data_count);
0 голосов
/ 07 февраля 2011

Эта страница будет наиболее полезной для вас:

Взаимодействие с собственными библиотеками

В общем, P / Invoke на OS X / Linux в Monoработает так же, как в Windows.

...