Я создал библиотеку dll в FASM, и теперь я хочу использовать ее в своем проекте C, но я получаю сообщение об ошибке, когда хочу открыть исполняемый файл (сгенерированный C (G CC))
Код FASM dll:
FORMAT PE64 CONSOLE DLL
ENTRY _entry
include 'EXPORT.INC'
section '.code' code readable executable
_entry:
mov eax, 1
ret
func:
mov eax, 5
ret
section '.edata' export data readable
export 'libs.dll', func, 'func'
section '.reloc' fixups data readable discardable
C (CMake):
cmake_minimum_required(VERSION 3.15)
project(untitled6 C)
set(CMAKE_C_STANDARD 11)
add_executable(untitled6 main.c)
target_link_libraries(untitled6 "D:\\untitled6\\libs.dll")
C Код:
int
main() {
int i;
asm volatile ("call\tfunc" : "=a"(i));
return i;
}
, когда я пытаюсь открыть исполняемый файл, я получаю эту ошибку:
D: \ untitled6 \ libs.dll либо не предназначен для запуска на Windows или содержит ошибку .... Состояние ошибки 0xc000007b
и исполняемый файл, и DLL для 64-битного ... но я действительно не знаю, в чем проблема !!!