-Поиск по дневнику

Поиск сообщений в rss_forum_sources_ru

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 29.07.2007
Записей:
Комментариев:
Написано: 80


Вернуть значение из ассемблера в 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

Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку