Вернуть значение из ассемблера в C# через С в Linux x64
|
|
Четверг, 17 Сентября 2020 г. 11:25
+ в цитатник
Wound: По ссылке выше:
#include
void print(const char *message)
{
printf("%s\n", message);
}
using System;
using System.Runtime.InteropServices;
public class Tester
{
[DllImport("libtest.so", EntryPoint="print")]
static extern void print(string message);
public static void Main(string[] args)
{
print("Hello World C# => C++");
}
}
Начни с этого примера. Если это заработает, значит проблема в импорте функции из ассемблера или в линковке ассемблерной библиотеки в Сишную.
Возможно у тебя не находит ассемблерную функцию в контексте C# кода.
Попробуй может сделать статическую либу :-?
А из Си вызывается ассемблерная функция? Можно еще конечно посоветовать юзать C++/Cli как прокладку между C# и C/Asm, но я не знаю умеет ли она работать с *.so библиотеками.
https://forum.sources.ru/index.php?showtopic=416410&view=findpost&p=3838930
Метки:
Assembler
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-