g++ -shared -fPIC helloworld.cpp -o ./hw, 核心转储

g++ -shared -fPIC helloworld.cpp -o ./hw, core dumped

我是 linux 的新手,我按照以下命令构建了一个 hello world:

g++ -shared -fPIC helloworld.cpp -o hw

./hw 导致

Segmentation fault (core dumped)

为什么?

g++ helloworld.cpp -o hw
./hw 

工作顺利。

第一个命令构建共享库而不是可执行文件。共享库不同于普通的可执行文件。它们(usually)不能直接执行,但可以被其他程序使用。