- 博客(2)
- 收藏
- 关注
原创 extern "C"的作用
c++使用extern “C”的方式告知编译器对声明的变量或者函数以C语言的方式进行编译1、C进行符号修饰是在变量前面加_,比如函数foo经过编译后为_foo。2、C++进行符号修饰时会考虑函数名、函数参数、函数返回类型、类、命名空间,如int C::fun(int)在经过GCC下的c++编译规则之后变为_ZN1C4funEi。很多时候我们会碰到有些头文件声明了一些C语言常见的函数和全局变量...
2019-10-10 16:27:53
114
原创 线程安全与过度优化
线程安全与过度优化过度优化样例1x=0 thread1 thread2lock(); lock();x++; x--;unlock(); unlock();即使加锁,也不一定能保证x的结果为2,这是由于编译器为了优化,提高x的访问速度,把x放入放到某个编译器中,不同线程的寄存器是各自独立的,假如thread1先获得锁,如下thread...
2019-10-10 10:26:40
148
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人