Загрузка библиотеки C из C# с Pinvoke на Dotnet CoreC#

Место общения программистов C#
Ответить
Anonymous
 Загрузка библиотеки C из C# с Pinvoke на Dotnet Core

Сообщение Anonymous »

Я построил следующую библиотеку C: < /p>

Код: Выделить всё

#define _GNU_SOURCE
#include
#include 

int attachCurrentThreadToCore(int core);

int main(void) {
return 0;
}

int attachCurrentThreadToCore(int core) {

pthread_t thread;

thread = pthread_self();

cpu_set_t set;

CPU_ZERO(&set);

CPU_SET(core, &set);

return pthread_setaffinity_np(thread, sizeof(cpu_set_t), &set);
}
А теперь я пытаюсь Pinvoke AttachCurrentThreadTocore .
Это мой тестовый код Pinvoke:
[DllImport("/home/anon/Documents/RadFramework/RadFramework.Libraries.Threading/src/TestProject1/bin/Debug/net5.0/pthreadWrapper")]

private static extern int attachCurrentThreadToCore(int core);

[Test]
public void Test1()
{
attachCurrentThreadToCore(0);
while (true)
{
}
}
< /code>
Теперь я ожидаю, что Core 1 на моей машине будет вращаться в цикле Whice. Вместо этого я получаю это исключение, когда Pinvoking:
Невозможно загрузить общую библиотеку '/home/anon/documents/radframework/radframework.libraries.threading/src/testproject1/bin/debug/net5. 0/pthreadwrapper 'или одна из его зависимостей. Чтобы помочь диагностировать проблемы с загрузкой, рассмотрите возможность установления переменной среды LD_DEBUG: /HOME/Anon/documents/radframework/radframework.libraries.threading/src/testproject1/bin/debug/net5.0/pthreadwper: невозможно динамически нагружать позиционировать позицию. Исполняемая < /p>
Я думаю, что это сводится к «не может динамически загружать независимый от положения исполняемый C Библиотека?

Подробнее здесь: https://stackoverflow.com/questions/701 ... otnet-core
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»