【编译基础】
void Function(void) { char *p = (char *) malloc(100 * sizeof(char)); }
就这个例子,千万不要认为函数返回,函数所在的栈被销毁指针(变量)也跟着销毁,申请的内存也就一样跟着销毁了!这绝对是错误的!因为申请的内存在堆上,而函数所在的栈被销毁跟堆完全没有啥关系。所以,还是那句话:记得释放 free()!
Reactor这个词译成汉语还真没有什么合适的,很多地方叫反应器模式,但更多好像就直接叫reactor模式了,其实我觉着叫应答者模式更好理解一些。通过了解,这个模式更像一个侍卫,一直在等待你的召唤,或者叫召唤兽。
并发系统常使用reactor模式,代替常用的多线程的处理方式,节省系统的资源,提高系统的吞吐量。
用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:
char *pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, 和一个字符变量;
main 函数形式:
int main(int argc, char *argv[])
main函数是有参数的,而且有返回值
argc:参数的个数
argv[]:指针数组,存放是具体的参数列表
系统定义的头文件:
/usr/include
/usr/local/include
/usr/target/include
自己定义的头文件路径,默认在执行这个程序的路径,即当前
库文件:
/lib (是别人已经开发好的函数编译的目标文件,可重定位的。)
C函数库。
gcc编译C语言需要经历四个步骤:
C方式位操作总结:
设置特定的位用|;
清除特定的位用&;
取反特定的位用^;
取反所有的位用~;
最近在学习C语言,一直想找个好点的开发工具,试用了下 Eclipse for C/C++,NetBeans for C/C++,都不好用。自从接触和使用 PhpStorm,就习惯于JetBrains公司的产品了,包括 PyCharm。
先前去官网看,没看到有关C/C++方面的IDE产品,不过从 2014.09.08 开始,官方推出了一款企业级的跨平台的 C/C++ IDE了,名字叫 CLion。
CLion官网:https://www.jetbrains.com/clion
Deepin 15.11 编译安装 MySQL-5.6.46 时,报错:
/usr/bin/ld: /usr/local/lib/libssl.a(s23_srvr.o): relocation R_X86_64_PC32 against symbol `ssl23_get_client_hello' can not be used when making a shared object; recompile with -fPIC