Тема: Генерація коду із Clang, питання
Доброго дня, панове.
Компілюю за допомогою clang наступний код:
#include <windows.h>
class Test {
public:
void f(const char*, const char*);
};
void Test::f(const char *a, const char *b) {
MessageBoxA(0, a, b, 0);
}
int main() {
Test t;
t.f("text", "caption");
ExitProcess(0);
}
воно мені згенерувало наступне:
.text:00401000 push 0
.text:00401002 push dword ptr [esp+0Ch]
.text:00401006 push dword ptr [esp+0Ch]
.text:0040100A push 0
.text:0040100C call MessageBoxA
.text:00401012 retn 8
.text:00401015
.text:00401015 ; =============== S U B R O U T I N E =======================================
.text:00401015
.text:00401015 public start
.text:00401015 start proc near
.text:00401015 push 0 ; uType
.text:00401017 push offset Caption ; "caption"
.text:0040101C push offset Text ; "text"
.text:00401021 push 0 ; hWnd
.text:00401023 call MessageBoxA
.text:00401029 push 0 ; uExitCode
.text:0040102B call ExitProcess
.text:0040102B start endp
Що це за шматок починаючи із 00401000 і до 00401012 ? Це наслідок, що він в активній розробці (фронтенд частина), і поки не займається подібними дрібницями (оптимізація)?