项目需要用到c++,这段时间学一下,这里总结一些易错的基础知识。
1. gcc 与 g++的区别
vim下写好cpp程序后,cc之后编译错误,原因如下:
编译阶段是相同的,链接阶段g++默认链接c++库,gcc没有。
所以一般情况下用gcc编译c文件,用g++编译cpp文件。
但是也可以用gcc编译cpp文件,但后面需要加一个选项-lstdc++,作用是链接c++库
还可以用g++编译c文件
2.https://blog.csdn.net/jiangpeng59/article/details/73554835 c++生成可供python调用的so文件
/* File: MurmurHash2.i */
%module MurmurHash2
%include "std_string.i"
%{
#include "MurmurHash2.h"
%}
%include "MurmurHash2.h"
"""
setup.py
"""
from distutils.core import setup, Extension
setup(name = "MurmurHash2", version = "1.0",
ext_modules = [Extension("_MurmurHash2", ["MurmurHash2_wrap.cxx", "MurmurHash2.cpp"],extra_compile_args = ['-std=c++11'])],
py_modules=['MurmurHash2'])