Сделайте небольшой исполняемый файл mach-o с помощью C

Ради любопытства, я пытаюсь понять, что самое маленькое, что я могу сделать программу C с минимумом ассемблера . Я хочу посмотреть, смогу ли я создать простую демонстрацию OpenGL (то есть демонстрационную сцену), используя OpenGL и GLUT, динамически связанные без стандартной библиотеки. Однако у меня проблемы с самыми простыми вещами.

Я создал тестовый файл main.c, содержащий

void newStart() {
  //Do stuff here...

  asm("movl $1, %eax;"
      "xorl %ebx, %ebx;"
      "int  $0x80;");
}

, и я делаю его с

gcc main.c -nostdlib -e newStart -o min

, используя параметр '-e', как рекомендовано в этом вопросе StackOverflow . Когда я пытаюсь его скомпилировать, я получаю следующую ошибку:

ld: warning: symbol dyld_stub_binder not found, normally in libSystem.dylib
ld: entry point (newStart) undefined. for architecture x86_64

Я использую OS X 10.7 (Lion). Может ли кто-нибудь мне помочь?

5
задан Community 23 May 2017 в 12:29
поделиться