cdecl

    4

    4답변

    내 솔루션에는 기능을 내보내는 관리되지 않는 C++ DLL과이 기능을 사용하는 관리되는 응용 프로그램이 있습니다. 방금 ​​.NET 3.5에서 .NET 4.0으로 솔루션을 변환했으며이 PInvokeStackImbalance를 얻었습니다. "PInvoke 함수 [...] 호출이 스택의 불균형을 가져 왔습니다" 예외. C++ 부분 (수신자) : __declsp

    0

    1답변

    시험 규칙을 요구하는 cdecl을하지만, 이것에 대해 약간의 혼란이있다 : 원래의 C 코드 : 는 ESP (8) 등을 추가 int __attribute__((cdecl)) add(int a,int b) { int i; i = a+b; return i; } void __attribute__((cdecl)) print(i

    2

    2답변

    일부 API 기능이있는 라이브러리 (C++)가 있습니다. 그 중 하나는 __cdecl로 선언되지만 __stdcall에서 함수 호출자를 가져옵니다. 뭔가 같이 : 다음 typedef int (__stdcall *Func)(unsigned char* buffer); //... int ApiFunc(Func funcPtr); //This is __cdecl

    4

    3답변

    C 함수에서 호출하여 인수를 사용하는 어셈블리 루틴이 있습니다. 지금 당장은 인수가 cdecl 순서로 스택에 전달된다고 가정합니다. 그것은 공정한 가정입니까? 컴파일러 (GCC)가이를 감지하고 인수가 올바르게 전달되는지 또는 수동으로 이동하여이를 cdecl로 선언해야합니까? 그렇다면 더 높은 최적화 수준을 지정하면 해당 특성이 유지됩니까?

    2

    1답변

    OpenCV 라이브러리, Boost 라이브러리 및이 LINK에서 다운로드 한 코드 파이브를 사용하여 응용 프로그램을 작성하고 있습니다. 나는 Thunk32와 같은 솔루션에서 프로젝트를 생성하고 난 다음 파일이 있습니다 MainProject.cpp #include "stdafx.h" int main(int argc, char** argv) {

    2

    1답변

    C main 함수에서 어셈블리 함수로 인수를 전달하는 방법은 무엇입니까? void function(char *somedata) __attribute__((cdecl)); 지금 어떻게 어셈블리 파일에 somedata을 사용 : 내 사용자 정의 함수가 같은 모양해야한다는 것을 알고있다. 내 운영 체제는 Linux Ubuntu이고 프로세서는 x86입니다.

    3

    2답변

    전에 예상 초기화가 나는 cdecl 규칙은 규칙 호출에 문제가 : void Test1(char* str, ...) // ok {} void cdecl Test2(char* str, ...) // error: expected initializer before 'Test2' {} int main() {} 내가 컴파일러가 cdecl 규칙 호