模板编译模式问题
我想利用“分离模式”来编译我下面的模板程序(三个文件:head.h,main.cpp,other.cpp):
---------------------------------------------------
head.h:
#include <iostream>
using namespace std;
template <class T> //模板声明
void test(T a);
---------------------------------------------------
other.cpp:
#include "head.h"
export template <class T> //模板定义
void test(T a){
cout << a << endl;
}
---------------------------------------------------
main.cpp:
#include "head.h"
int main(int argc, char **argv){
test(9); //模板实例化
return 0;
}
---------------------------------------------------
然后,我首先在windows下利用visual studio.net进行编译---->失败。
我好像听说过vc并不支持模板的“分离模式”编译,但是gcc应该支持,所以我在linux中重新编译上面的程序:
g++ main.cpp other.cpp -o a.o
结果还是失败。
难道gcc也不支持“分离模式”编译?或者是在编译时还需要使用其他选项?
望高手指教,谢谢。
---------------------------------------------------
head.h:
#include <iostream>
using namespace std;
template <class T> //模板声明
void test(T a);
---------------------------------------------------
other.cpp:
#include "head.h"
export template <class T> //模板定义
void test(T a){
cout << a << endl;
}
---------------------------------------------------
main.cpp:
#include "head.h"
int main(int argc, char **argv){
test(9); //模板实例化
return 0;
}
---------------------------------------------------
然后,我首先在windows下利用visual studio.net进行编译---->失败。
我好像听说过vc并不支持模板的“分离模式”编译,但是gcc应该支持,所以我在linux中重新编译上面的程序:
g++ main.cpp other.cpp -o a.o
结果还是失败。
难道gcc也不支持“分离模式”编译?或者是在编译时还需要使用其他选项?
望高手指教,谢谢。
...全文
相关推荐
详解C++函数模板与分离编译模式
使用函数模板时需要注意分离编译模式下的问题,并选择适合的解决方案来避免编译错误。
分离编译模式工厂模和式的理解
在软件设计模式中,分离编译模式(Separate Compilation Pattern)和工厂模式是两种非常重要的设计思想,它们分别解决不同的问题。
c++模板元编程
模板元编程虽然强大,但也有其挑战。由于大部分元编程都在编译时进行,代码可能会变得难以理解和维护。因此,合理地使用模板元编程,结合清晰的代码组织和注释,是避免这些问题的关键。
metafun:将类似Haskell的代码编译为C ++模板元程序
这个工具的独特之处在于它提供了一种桥梁,让程序员可以利用Haskell的简洁性和高阶特性来编写C++的元程序,从而在编译时解决复杂的问题,提高效率。### 1.
Elsevier - Pattern Recognition Letters模板
总的来说,通过使用《Pattern Recognition Letters》提供的LaTeX模板,作者可以专注于内容创作,而不必担心格式问题,从而提高工作效率,并确保文章符合期刊的出版标准。


