FASM DLL с C исполняемой ошибкой 0xc000007b - PullRequest
0 голосов
/ 07 апреля 2020

Я создал библиотеку 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-битного ... но я действительно не знаю, в чем проблема !!!

...