Я пытаюсь интерфейс 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 с параллелями
ОБНОВЛЕНИЕ: решено, это были проблемы с правами доступа. Попытался создать и собрать программу на другом диске, работал!