Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
foda memu em
idai
nem
>
1. é necessário usar o __stdcall pra criar DLLs? Por quê?
Pelo visto, não:
https://msdn.microsoft.com/en-us/library/ms235636.aspx
Em arquiteturas ARM e x64 o __stdcall é ignorado: https://msdn.microsoft.com/pt-br/library/zxk0tw93.aspx
http://www.codeproject.com/Articles/1388/Calling-Conventions-Demystified
É possível prever o nome de uma static library e saber em runtime se o programa é uma static library através de um define? É exatamente o que parece estar acontecendo, então seria uma pergunta pra confirmar mesmo.
Até onde eu sei, não. Mas o que normalmente acontece é que durante a compilação do código o programador pode definir essas macros na linha de comando. Por exemplo:
g++ fonte.cpp -D FREEGLUT_STATIC
No caso desses teus ifdef, se a macro _WIN32 não estiver definida (por exemplo, num UNIX), o freeglut usará essas definições (o último else):
sem condai
https://msdn.microsoft.com/pt-br/library/windows/desktop/aa383751(v=vs.85).aspx.aspx)
É coisa da Microsoft, basicamente...
https://en.wikipedia.org/wiki/X86_calling_conventions
http://stackoverflow.com/questions/3404372/stdcall-and-cdecl
http://stackoverflow.com/questions/297654/what-is-stdcall
https://msdn.microsoft.com/en-us/library/zxk0tw93.aspx