그리고 fastcall을 사용한다고 해서 반드시 빨라 지는 것은 아닙니다. fastcall은 다른 calling convention과는 다르게 register를 이용해서 함수의 인자를 넘기기 때문에 함수 전달 과정에 있어서는 다른 calling convention보다는 빠르지만, 함수 내부에서 성능 개선을 위해 그 register를 local variable로 사용하려고 한다면 내부에서 또 다시 push/pop이 이루어 지기 때문에 반드시 빨라진다고 볼 수가 없습니다.
결론적으로 함수의 calling convetion문제는 요즘 컴파일러의 추세인 PGO를 이해하고 있다면 명시적인 calling convention은 큰 의미가 없다고 보면 됩니다.
결론적으로 함수의 calling convetion문제는 요즘 컴파일러의 추세인 PGO를 이해하고 있다면 명시적인 calling convention은 큰 의미가 없다고 보면 됩니다.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
뭐 이런글을 봣는데요...
1. 인자를 한개만 쓴다면 ecx가 맞나요 edx 가 맞나요?
2. vc2010 기준으로 fastcall 의 명시적 선언이 정말 의미가 없는지요?
너님이 임베디드나 드라이버, 커널같은 로우레벨할거 아니면 신경꺼도됨
ㄴ 게임로직이나 hooking 의 빠른 처리를 원해서 그럼니다요.
프로파일링부터 먼저 하세요