现在位置: 首页 > 自动控制 > 文章
2018-02-16 19:10 工业·编程 ⁄ 共 833字 暂无评论
1.ubuntun14.04下安装cgdb cong@msi:~$ sudo apt-get install cgdb 2. 使用: cgdb ./hello就可以了 a. cgdb分为上面的vi窗口与下面的gdb窗口 ESC-->切到vi窗口 i -->切到gdb窗口 - -->减小vi窗口 = -->增大vi窗口 shift - -->减小很多vi窗口 shift = -->增大很多vi窗口 b.断点 空格添加/删除断点 c.  gdbinit脚本不能用 warning: File "/work/ffmpeg/jpeg/jpegc/.gdbinit" auto-loading has...
阅读全文
2018-02-11 20:35 工业·编程 ⁄ 共 440字 暂无评论
Libevent 是一个用C语言编写的、轻量级的开源高性能事件通知库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络,不如 ACE 那么臃肿庞大;源代码相当精炼、易读;跨平台,支持 Windows、 Linux、 *BSD 和 Mac Os;支持多种 I/O 多路复用技术, epoll、 poll、 dev/poll、 select 和 kqueue 等;支持 I/O,定时器和信号等事件;注册事件优先级。 只要是学习编程似乎都逃离不了“hello word”定律! 编...
阅读全文
最近在编写libevent项目时,启动命令后:提示error while loading shared libraries: libevent-2.1.so.6: cannot open shared object file: No such file or directory 如果缺少的是其他库,该方法依然适用,现以libevent-2.1.so.6为例 首先,我们需要查看该库是否存在: find / -name libevent-2.1.so.6 添加环境变量的方法,添加 export LD_LIBRARY_PATH=XXX(此为find命令中查找到的库路径) export LD_LIBRARY_PATH=/usr/l...
阅读全文
2018-01-28 19:38 工业·编程 ⁄ 共 764字 暂无评论
1. RCF: 纯c++的RPC, 不引入IDL, 大量用到boost,比较强大. 2. casocklib:  protobuf + asio 较完善实现 3. eventrpc: protobuf + libevent 较完善实现 https://www.exit1.org/Event-RPC/ 4. evproto: protobuf + libevent 简单实现 https://github.com/chenshuo/evproto https://github.com/chenshuo/evproto2 5. febird:同样无IDL的c++ RPC,自己实现了串行化和网络IO. 6. libHttp, xmlrpc 都是xml封装的RPC 7.rest_rpc...
阅读全文
2018-01-21 18:06 工业·编程 ⁄ 共 589字 暂无评论
1、Google https://github.com/grpc/grpc https://github.com/google/protobuf http://doc.oschina.net/grpc 2、thrift http://thrift.apache.org/ http://thrift.apache.org/lib/ http://thrift.apache.org/lib/cpp https://github.com/apache/thrift 3、Tencent 腾讯微服务框架Tars介绍 https://github.com/TarsCloud/Tars https://github.com/TarsCloud/TarsCpp https://github.com/TarsCloud/TarsGo https://github.com/lov...
阅读全文
2018-01-16 19:08 工业·编程 ⁄ 共 43字 暂无评论
方法一:gdb -tui a.out 方法二:进入gdb后,Ctl+x,Ctl+a进入tui
阅读全文
最近在Linux下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似下面这样的错误: (.text+0x13): undefined reference to `func'     关于undefined reference这样的问题,大家其实经常会遇到,在此,我以详细地示例给出常见错误的各种原因以及解决方法,希望对初学者有所帮助。 1.链接时缺失了相关目标文件(.o) 测试代码如下:     然后编译。 gcc -c test.c gcc –c main....
阅读全文
1.extern "C"的理解: 很多人认为"C"表示的C语言,实际并非如此,"C"表示的是一种链接约定,只是因C和C++语言之间的密切关系而在它们之间更多的应用而已。实际上Fortran和汇编语言也常常使用,因为它们也正好符合C实现的约定。 extern "C"指令描述的是一种链接约定,它并不影响调用函数的定义,即使做了该声明,对函数类型的检查和参数转换仍要遵循C++的标准,而不是C。 2.extern &quo...
阅读全文
1.概念和区别:     静态库就是在编译过程中一些目标文件的集合。静态库在程序链接的时候使用,链接器会将程序中使用到函数的代码从库文件中拷贝到应用程序中。一旦链接完成,在执行程序的时候就不需要静态库了。     由于每个使用静态库的应用程序都需要拷贝所用函数的代码,所以静态链接的文件会比较大。     相对于静态函数库,动态函数库在编译的时候并没有被编译进目标代码...
阅读全文
1 库的分类 根据链接时期的不同,库又有静态库和动态库之分。 静态库是在链接阶段被链接的(好像是废话,但事实就是这样),所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行。 有别于静态库,动态库的链接是在程序执行的时候被链接的。所以,即使程序编译完,库仍须保留在系统上,以供程序运行时调用。(TODO:链接动态库时链接阶段到底做了什么) 2 静态库和动态库的比较 链接静态库其实从某种意...
阅读全文