2
A
답변
5
아니요 단순히 래퍼 기능을 작성할 수는 없습니다.
class X
{
public:
static void f();
};
extern "C" void call_X_f()
{
X::f();
}
+0
이것은 내가 피하고 싶었던 래퍼입니다. – Skeen
+1
@Skeen 질문에 넣으십시오. –
2
내가 코멘트에서 말했듯이, 당신은 할 수 없습니다. 하지만 같은 효과를 얻을 수 있습니다.
는 여기에 내가 얘기 한 내용은 다음과 같습니다
class A;
extern "C" void foo(A*);
class A
{
int i;
friend void foo(A*);
};
extern "C" void foo (A* a)
{
a->i = 10;
}
int main()
{
A a;
foo(&a);
return 0;
}
는 정적 멤버 함수에 적용 할 수 없습니다 GCC 4.7.2 here
1
관련 문제
- 1. C++에서 정적 함수를 호출하십시오.
- 2. 앞으로 정적 함수를 선언하십시오. C++
- 3. Fortran 함수를 C++에 연결
- 4. 정적 라이브러리를 C 수학 라이브러리에 올바르게 연결
- 5. 클래스의 인스턴스없이 정적 함수를 사용하여 C++에서
- 6. C : 정적 함수를 숨기는 공개 별칭
- 7. 정적 멤버 함수를 사용하여 C++/CLI 스레딩
- 8. 연결 문제 C/C++
- 9. gcc를 사용하여 C에서 C++ 정적 라이브러리 연결
- 10. C++ 정적 라이브러리를 동적 라이브러리에 연결
- 11. C++ 정적 라이브러리의 원하는 부분 만 연결
- 12. Qt 응용 프로그램에서 C++ 정적 라이브러리에 연결
- 13. 더빙을 사용하여 C++ 연결 가능 정적 라이브러리
- 14. /MT 오류로 poco C++ 라이브러리 정적 연결
- 15. C# 웹 서비스 및 정적 DB 연결
- 16. C/C++ 정적 부두
- 17. Objective-C 응용 프로그램을 C++ 정적 라이브러리에 연결
- 18. C++ 함수를 사용하여 C#
- 19. 구조체에서 C++ 함수를 C#
- 20. C++ 매크로 연결
- 21. 정적 라이브러리에서 C & C++ 코드를 섞음
- 22. C/C++의 정적 구조체
- 23. 어떻게 C++에서 관리되는 (C#) 함수를 호출합니까?
- 24. Objective C 프로젝트에 정적 C++ 라이브러리 포함
- 25. C 함수 연결
- 26. 정적 포인터가있는 C++ 클래스
- 27. C# + MySQL 연결
- 28. C++ 매크로 문자열 연결
- 29. C# 배열을 정적 C 라이브러리의 포인터에 마샬링
- 30. C++에서 정적 C++/CLI 메서드 호출
이러한 함수의 범위가 지정되었으므로 클래스 이름을 거기에 맹 글링하지 않아야합니다. 그러나 친구 기능으로 동일한 효과를 얻을 수 있다고 생각합니다. – StoryTeller
음, 문제는 어셈블리에서 C++ 정적 함수를 호출하고 바보 같은 C++ 래퍼 함수를 사용하지 않기를 바란다는 것입니다. – Skeen
클래스 선언을 제어 할 수 있다면 아래 설명 된 해결 방법을 사용할 수 있습니다. 같은 그물 효과. – StoryTeller