abi

    3

    4답변

    C 라이브러리는 다른 버전으로 컴파일 된 라이브러리 또는 (때로는) 심지어 다른 컴파일러와도 섞이는 데 거의 문제가 없을 것입니다. 그리고 많은 언어가 직접 또는 최소한의 노력으로 C 라이브러리와 인터페이스 할 수있는 것처럼 보입니다. ABI가 표준이기 때문에이 모든 것입니까?

    3

    1답변

    x86의 커널 모듈에서 호출에 사용 된 ABI의 공식 정의를 찾고 있습니다. 나는 최근에 컴파일 된 모듈로 보았다 것을 발견 놀랐습니다 : 는 처음 세 개의 인수 (eax, edx 및 ecx)를 통과 레지스터를 사용합니다. GCC 문서에 설명 된대로 fastcall이 아닙니다. docs say 그 fastcall ecx 및 edx (Microsoft 스타일

    4

    2답변

    나는 웹에서이 대답에 대한 약간의 부분을 발견했지만 수정 같은 해결책은 찾지 못했습니다. 다음은 내가하려는 일입니다. 1) ATL 단순 개체를 만듭니다. 2) HRESULT가 아닌 BOOL을 반환하는 메서드를 해당 객체에 추가합니다. 호출자는 true/false 반환 값을 원합니다. 3) e.description 및 e.number 데이터를 제공하는 jsc

    3

    1답변

    저는 vtable 및 vpointers의 내부 동작에 대해 좀 더 배우려고 했으므로 일부 트릭을 사용하여 vtable에 직접 액세스하려고했습니다. 나는 Base과 Derv의 두 클래스를 만들었는데 각각은 두 개의 virtual 함수를 가지고 있습니다 (Derv은 Base을 오버라이드합니다). class Base { int x; int y

    4

    3답변

    우분투 서버에서 미리로드 된 파일 (x32 및 x64의 경우 두 파일)을 컴파일했습니다. 필자는 컴파일 된 파일이 호환되는 OS와 호환성을 위해 다시 컴파일해야하는 파일을 볼 수있는 목록을 어디에서 얻을 수 있습니까? 감사합니다.

    9

    2답변

    독립 실행 형 클래스의 비 가상 비선형 오버로드 된 메서드의 순서를 변경하면 ABI가 중단됩니까? 전 : class MyFinalClass { public: // ... void doSomething(char c, int i); void doSomething(char c, int i, int n); // ... };

    1

    1답변

    큰 정수에는 매우 좋은 정수 lib를 코딩했지만 512 비트로 제한되었습니다 (다양한 이유로 GMP보다 빠름). 나는 큰 크기의 lib를 일반화하려고 노력하고있다. 그래서 나는 adcq 명령을 반복해야한다. // long addition little indian order due the technique incq-jnz // I can not use co

    6

    1답변

    일반적으로 bignum은 여러 단어를 사용하여 구현되지만 가능한 한 이식 가능한 크기로 단어를 선택하고 싶습니다. 이보다 더 까다 롭습니다. std::uint64_t은 많은 32 비트 컴파일러에서 사용할 수 있지만, std::uint32_t은 32 비트 시스템에서 더 나은 선택 일 수 있습니다. 그래서 유혹은 std :: size_t를 사용하는 것이지만 s

    4

    2답변

    LLP64 대신 VC를 사용하려면 LP64을 사용하고 싶습니다. GCC 또는 Intel C++와 같은 다른 컴파일러를 사용할 수 있다는 것을 알고 있습니다. VC++를 여러 가지 이유로 사용하는 것을 좋아합니다. Microsoft 헤더 등과의 호환성 요구 사항은 없으며 이미 LIBC를 런타임 라이브러리로 사용하고 있습니다.

    17

    1답변

    AMD64 psABI는 이전에 x86-64.org에서 호스팅되었습니다. 나는 pdf 파일의 복사본을 가지고 명시 적으로 말한다 : 아키텍처 사양 http://www.x86-64.org/documentation에서 웹에서 볼 수 있습니다. 그러나 http://www.x86-64.org은 이미 오래되었습니다. 적어도 몇 달은. 누구나 최신 psABI를 어디에서