abi

    2

    2답변

    C++로 잠깐 동안 프로그래밍을 해왔다면 "확실한 이유없이"프로그램을 실행하여 라이브러리의 ABI가 더 이상 호환되지 않으며 소프트웨어를 다시 컴파일해야한다는 것을 알았을 것입니다 라이브러리의 새 버전에 대한 이유 ABI의 휴식 여러 위치 : 가상 테이블의 변화, 생성자, 소멸자, 또는 가변 구성원을 추가/제거 ... 은 내가 궁금하네요 것은 이것이다는 :

    17

    2답변

    저는 리눅스 x86-64 ABI가 레지스터와 스택을 사용하여 함수에 매개 변수를 전달하는 방법을 이해합니다 (cf. previous ABI discussion 참조). 내가 혼란스러워하는 점은 함수 호출을 통해 레지스터가 유지 될 것으로 예상되는 경우이다. 다시 말하면, 어떤 레지스터가 clobbered되지 않을까?

    16

    1답변

    012-646 시스템 V ABI (Windows를 제외한 모든 시스템에서 사용됨)는 http://x86-64.org/documentation/abi.pdf에 살았으나 이제 해당 사이트는 인터넷에서 제외되었습니다. 문서에 대한 새로운 권위있는 집이 있습니까?

    1

    1답변

    나는 정의 : (이 실제 코드가 아닙니다 - 추상화 목적) I 선언 약간의 C 파일에서 typedef struct { ... } my_struct; : extern my_struct my_struct_inst; 를하고 내용의 사용 : my_struct my_struct_inst; 그리고 다른 2 개 C 파일의 나는 선언함으로써 그 구조체를 사

    3

    2답변

    ABI (System V의 경우)와 C++ 표준의 차이점을 이해하려고합니다. 따라서 C++ 표준은 합법적 인 C++을 결정하므로 컴파일러가이를 적절한 어셈블리 코드로 바꿀 수 있습니다. ABI는이 어셈블리 코드가 x86 아키텍처와 어떻게 상호 작용하는지 규제합니다. 그 둘 사이의 상위 레벨 비교입니까? 저 지연 소프트웨어에 관심이있는 이유는 ABI를 읽는

    4

    2답변

    나는 clang을 위해 빠르고 더러운 demangler를 쓰려고합니다. abi::__cxa_demangle을 사용하는 piece of code을 찾았지만 어떤 헤더가 필요한지 알 수 없습니다. 확실한 선택은 ABI.h하지만입니다 : demangle.cpp:2:10: fatal error: 'ABI.h' file not found #include <ABI.

    12

    4답변

    함수 호출이 프로그램에 의해 만들어지면 호출 된 함수는 호출자에게 반환하는 방법을 알아야한다는 것을 알게되었습니다. 제 질문은 : 호출 된 함수가 호출자에게 어떻게 복귀하는지 어떻게 알 수 있습니까? 컴파일러를 통해 뒤에서 작동하는 메커니즘이 있습니까?

    1

    1답변

    약 std::unique_ptr에 대한 독서는 (다른 스마트 포인터와 함께) 프로젝트에서 내부적으로 (특히 Could an optimizing compiler remove all runtime costs from std::unique_ptr? 이후) 포인터에 대한 최선의 선택이라는 확신을주었습니다. 그러나 인터페이스에서 무엇을해야할지 아직 확실하지 않습니다

    2

    1답변

    네임 스페이스 범위 (ABI를 통과하고 나중에 JavaScript 프로젝트에서 사용될 수 있음)에서 공용 void를 정의 할 수 있습니까? 물론, "public void update (int param);" 이 문맥에서 대중은 무효 키워드로 보입니다. 다른 방법은 클래스를 만들어 그 메소드를 유지하는 것입니다.하지만이를 피하고 네임 스페이스 범위에서 함수를

    1

    2답변

    합격 클래스 인해 정의되지 않은 vtable에 C에서 레이아웃 ++, 하지만 명시 적으로 호출 규칙을 설정하고 가상 함수 및 상속을 피하면 무슨 나쁜 생각입니까? 즉 , 내가 안전하게 DLL에서 다음과 같은 구조체에 대한 포인터를 전달할 수 있을까? struct MyStruct { int a; int b; WINAPI MySt