компиляция C и ASM на vs2017 - PullRequest
       10

компиляция C и ASM на vs2017

0 голосов
/ 04 декабря 2018

Я пытаюсь интерфейс C и ASM-код на VS2017.Основная программа на C вызывает функцию, и эта функция определена в моем asm-файле.Имя файла «main.c», asm имя файла «eser.asm»

Если я пытаюсь запустить тот же код на VS на другом компьютере (Windows), он отлично работает

Здесьэто файл main.c

#include <stdio.h>
int sommalungstringhe(char *s1, char *s2);


int main()
{
    char s1[255] = "simone e' il migliore";
    char s2[255] = "chissa' a fare cosa";


    printf("%d", sommalungstringhe(s1, s2));
    getchar();
}

И это файл eser.asm

.586
.model flat
.code

_sommalungstringhe proc

push ebp
mov ebp,esp
push edi
push esi
push ebx

mov esi,0 
mov edi,0
mov ebx,dword ptr[ebp+8]
mov ecx,dword ptr [ebp+12]

ciclo:
cmp byte ptr[ebx+edi],0
je azzera_edi
inc esi
inc edi
jmp ciclo

azzera_edi:
mov edi,0
jmp conta_seconda

conta_seconda:
cmp byte ptr[ecx+edi],0
je fine_ciclo
inc esi
inc edi
jmp conta_seconda

fine_ciclo:
mov eax,esi
pop ebx
pop esi
pop edi
mov esp,ebp
pop ebp
ret



_sommalungstringhe endp

end

Я попытался скомпилировать его, и он выдал ошибку.

Две ошибки, которые я получаю, когда пытаюсь скомпилировать его как отдельные исходные файлы:

Severity    Code    Description Project File    Line    Suppression State
Error   MSB3721 The command "ml.exe /c /nologo /Zi /Fo"Release\eser.obj" /W3 /errorReport:prompt  /Taeser.asm" exited with code 1.  tmp_prj C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCTargets\BuildCustomizations\masm.targets  69  

Вторая ошибка:

Severity    Code    Description Project File    Line    Suppression State
Error   A1000   cannot open file : eser.asm tmp_prj \\mac\Home\Desktop\tmp_prj\MASM 1   

Я также настроил VS дляобработка asm-файла как исходного файла.

Я использую vs2017 на MacBook Pro с параллелями

ОБНОВЛЕНИЕ: решено, это были проблемы с правами доступа. Попытался создать и собрать программу на другом диске, работал!

...