假设我有一个使用类和模板的C ++库lib.h。假设我有一个自定义C ++头文件myLink.h,其中包含以下内容:
#include "lib.h"
//call methods from lib.h that use templates and classes
// and return an integer based off of the information gained from calling functions lib.h
extern "C" int foo(int param1, const int param2);
现在假设我在一个名为test.c的C文件中。调用函数foo()是否合法?
//in test.c
int first = foo(5, 6);
此外,编译的目标代码/链接器阶段发生了什么?
谢谢!
答案 0 :(得分:0)
调用函数foo()是否合法?
int first = foo(5, 6);
是的,这是合法的。虽然您应该阅读以下内容以确保此合法电话会链接。
编译的目标代码/链接器阶段发生了什么?
使用类不会干扰。 C ++类将被编译为链接器将理解的目标代码。
根据Chris Dodd的评论编辑:
您的模板也将通过foo
调用它们来创建。