我有下面的基类,我检查了这个类的大小,它显示的是16字节.如果我从fun()中删除虚拟关键字,则显示4字节.
我不明白这种行为。有什么指示吗?
class base
{
public :
int a;
virtual void fun()
{
}
};
gcc版: gcc版4.1.2 20080704
操作系统:Linux2.6.18-308.el5 #1 SMP Fri Jan 27 17:17:51 EST 2012 x86_64 GNU/Linux
我有一个简单的HelloWorld.c d.c程序(所以,我把它放在这里),我正在尝试用clang版本3.3构建,启用了LTO,这是抛出奇怪的错误。我正在使用cmake使用-DCMAKE_TOOLCHAIN_FILE构建它。我可以在没有-flto的情况下成功构建和链接这个程序,但是我需要能够使用这个限定符。工具链是用于TileGX的(因此需要停留在clang3.3版)。这就是我的环境:
Ubuntu 16.04
cmake Version 3.9.4
I built the TileGX toolchain on 16.04, as well as 14.04
I build clang Ve
主要问题
我试图按照的指令构建一个clang插件,但是当我试图构建时,我遇到了链接器错误。
这些都是错误:
/tmp/Test-1ea47e.o: In function `ASTFrontendAction':
/usr/lib/llvm-3.4/include/clang/Frontend/FrontendAction.h:216: undefined reference to `clang::FrontendAction::FrontendAction()'
/tmp/Test-1ea47e.o: In function `~TestPlugin':
/home