C / C ++의 함수와 동일한 이름으로 정의를 설정하는 방법은 무엇입니까?

스티브

일부 기능을 재정의 할 수있는 잘 문서화되지 않은 c 라이브러리가 있습니다. 그러나 슬프게도 예는 없습니다.

library.h :

#ifndef some_function
uint8_t some_function(void);
#endif

그래서 내 C ++ 코드에서 다음과 같은 함수를 정의했습니다.

#include "library.h"

extern "C" uint8_t some_function(void) { return 0;}

void main() {
....
}

하지만 라이브러리에 정의 된 코드를 사용합니다.

다음 시도 :

#define some_function
#include "library.h"

uint8_t some_function(void) { return 0;}

결과 :

src/main.cpp: error: expected unqualified-id before 'void'
 extern "C" uint8_t some_function(void);

함수 이름이 정의로 대체되기 때문입니다.

어떤 제안?

Quimby

어떤 제안?

#define some_function some_function

물론 이것을 옹호하지는 않지만 작동해야합니다.

작성자는 사용자가 다른 이름으로 자신의 기능을 정의 할 수 있도록 허용하고 싶었을 것입니다. 즉, 매크로는 라이브러리가 사용자 정의 함수 이름을 사용하는 것만 큼 의미가 없습니다.

uint8_t my_function(void) { return 0;}

...

#define some_function my_function
#include "library.h"

아무도 이러한 매크로를 정의하지 않으면 작성자가 동일한 함수를 정의하여 모든 호출이 작동합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C # 개체가 동적으로 함수를 재정의하도록하는 방법은 무엇입니까?

분류에서Dev

C와 C ++의 함수 매개 변수로서 int ** a와 int a [] []의 정확한 차이점은 무엇입니까?

분류에서Dev

C 또는 C ++에서 명령문 블록으로 함수를 정의하는 방법은 무엇입니까?

분류에서Dev

기본 함수와 동일한 이름으로 S3 제네릭을 정의하는 방법은 무엇입니까?

분류에서Dev

C ++에서 거의 비슷하게 다른 클래스 인수를 처리하는 동일한 이름으로 동일한 함수를 작성하는 방법은 무엇입니까?

분류에서Dev

두 개의 .C 파일 내에 동일한 이름의 private 함수가 다중 정의 오류를 일으키는 이유는 무엇입니까?

분류에서Dev

정수를 C의 문자로 변환하는 방법은 무엇입니까?

분류에서Dev

jquery mobile의 콘텐츠와 동일한 패널 높이를 설정하는 방법은 무엇입니까?

분류에서Dev

SQL Server : 열 이름을 동적 변수의 값으로 설정하는 방법은 무엇입니까?

분류에서Dev

C #에서 Java와 동일한 재정의 경험을 달성하는 방법은 무엇입니까?

분류에서Dev

거의 동일한 C 함수를 통합하는 방법은 무엇입니까?

분류에서Dev

C ++ Visual Studio의 호출 라인에서 함수 본문으로 이동하는 방법은 무엇입니까?

분류에서Dev

C ++ 포인터 함수를 재정의하는 방법은 무엇입니까?

분류에서Dev

C ++ 배열 크기를 함수의 반환 값으로 설정하는 가능한 방법이 있습니까?

분류에서Dev

C ++의 한 줄에서 정수를 읽는 방법은 무엇입니까?

분류에서Dev

첫 번째 매개 변수와 동일한 반환 유형으로 함수를 정의하는 올바른 방법은 무엇입니까?

분류에서Dev

c ++ : 파일에 쓰는 동안 파일의 특정 줄로 이동하는 방법은 무엇입니까?

분류에서Dev

C ++ : 동일한 네임 스페이스에 있지만 다른 파일에 정의 된 변수에 액세스하는 방법은 무엇입니까?

분류에서Dev

* 또는-연산자없이 C에서 양의 정수를 부정하는 방법은 무엇입니까?

분류에서Dev

C #의 데이터 세트에서 소수점 값을 설정하는 방법은 무엇입니까?

분류에서Dev

업 로더 : 사용자 ID와 동일한 사용자 정의 폴더 이름을 설정하는 방법은 무엇입니까?

분류에서Dev

C #의 byte [] 배열에서 BinaryImageColumnin RadGrid의 이미지 소스를 설정하는 방법은 무엇입니까?

분류에서Dev

C #의 변수 정의에서 인터페이스를 합산하는 방법은 무엇입니까?

분류에서Dev

C #을 사용하여 특정 이름을 가진 하위 폴더의 파일 수를 계산하는 방법은 무엇입니까?

분류에서Dev

"this"를 C #의 값으로 설정할 수없는 이유는 무엇입니까?

분류에서Dev

이동 의미 체계와 복사 의미 체계와 함께 작동하는 함수를 정의하는 방법은 무엇입니까?

분류에서Dev

이 함수 정의를 설명하는 방법은 무엇입니까?

분류에서Dev

컴파일러에게 모든 C 함수에서 특정 양의 바이트를 채우도록 지시하는 방법은 무엇입니까?

분류에서Dev

C #을 사용하여 Crystal 보고서에 대한 데이터베이스 이름을 동적으로 설정하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    C # 개체가 동적으로 함수를 재정의하도록하는 방법은 무엇입니까?

  2. 2

    C와 C ++의 함수 매개 변수로서 int ** a와 int a [] []의 정확한 차이점은 무엇입니까?

  3. 3

    C 또는 C ++에서 명령문 블록으로 함수를 정의하는 방법은 무엇입니까?

  4. 4

    기본 함수와 동일한 이름으로 S3 제네릭을 정의하는 방법은 무엇입니까?

  5. 5

    C ++에서 거의 비슷하게 다른 클래스 인수를 처리하는 동일한 이름으로 동일한 함수를 작성하는 방법은 무엇입니까?

  6. 6

    두 개의 .C 파일 내에 동일한 이름의 private 함수가 다중 정의 오류를 일으키는 이유는 무엇입니까?

  7. 7

    정수를 C의 문자로 변환하는 방법은 무엇입니까?

  8. 8

    jquery mobile의 콘텐츠와 동일한 패널 높이를 설정하는 방법은 무엇입니까?

  9. 9

    SQL Server : 열 이름을 동적 변수의 값으로 설정하는 방법은 무엇입니까?

  10. 10

    C #에서 Java와 동일한 재정의 경험을 달성하는 방법은 무엇입니까?

  11. 11

    거의 동일한 C 함수를 통합하는 방법은 무엇입니까?

  12. 12

    C ++ Visual Studio의 호출 라인에서 함수 본문으로 이동하는 방법은 무엇입니까?

  13. 13

    C ++ 포인터 함수를 재정의하는 방법은 무엇입니까?

  14. 14

    C ++ 배열 크기를 함수의 반환 값으로 설정하는 가능한 방법이 있습니까?

  15. 15

    C ++의 한 줄에서 정수를 읽는 방법은 무엇입니까?

  16. 16

    첫 번째 매개 변수와 동일한 반환 유형으로 함수를 정의하는 올바른 방법은 무엇입니까?

  17. 17

    c ++ : 파일에 쓰는 동안 파일의 특정 줄로 이동하는 방법은 무엇입니까?

  18. 18

    C ++ : 동일한 네임 스페이스에 있지만 다른 파일에 정의 된 변수에 액세스하는 방법은 무엇입니까?

  19. 19

    * 또는-연산자없이 C에서 양의 정수를 부정하는 방법은 무엇입니까?

  20. 20

    C #의 데이터 세트에서 소수점 값을 설정하는 방법은 무엇입니까?

  21. 21

    업 로더 : 사용자 ID와 동일한 사용자 정의 폴더 이름을 설정하는 방법은 무엇입니까?

  22. 22

    C #의 byte [] 배열에서 BinaryImageColumnin RadGrid의 이미지 소스를 설정하는 방법은 무엇입니까?

  23. 23

    C #의 변수 정의에서 인터페이스를 합산하는 방법은 무엇입니까?

  24. 24

    C #을 사용하여 특정 이름을 가진 하위 폴더의 파일 수를 계산하는 방법은 무엇입니까?

  25. 25

    "this"를 C #의 값으로 설정할 수없는 이유는 무엇입니까?

  26. 26

    이동 의미 체계와 복사 의미 체계와 함께 작동하는 함수를 정의하는 방법은 무엇입니까?

  27. 27

    이 함수 정의를 설명하는 방법은 무엇입니까?

  28. 28

    컴파일러에게 모든 C 함수에서 특정 양의 바이트를 채우도록 지시하는 방법은 무엇입니까?

  29. 29

    C #을 사용하여 Crystal 보고서에 대한 데이터베이스 이름을 동적으로 설정하는 방법은 무엇입니까?

뜨겁다태그

보관