技术细节
宽容拯救生命
技术型宅男专注于C/C++/ASM/LINUX/嵌入式
展开
-
undefined symbol: __gxx_personality_v0的解决办法
用GCC编译C文件的时候,有时候会遇到undefined symbol: __gxx_personality_v0这个错误,出现这个错误的根本原因是文件中包含了C++语法规范的代码,因此解决的办法就是用C++的方式去编译/链接,如下:方法1:g++ stem.c方法2:gcc stem.c -lstdc++ -o stem原创 2013-10-22 11:07:42 · 2080 阅读 · 0 评论 -
c++/c socket应用的区别:socket()函数返回文件描述符fd总是0的问题
最近在arm linux系统上面使用socket建立客户端到服务器的连接,客户端需要开2个socket连接2个不同的服务器,这两个申请socket的过程都放在同一个类的成员函数中实现,测试发现,每次拿到的socket的fd均为0。这个id为0,虽然用起来没有问题,但是只能用来connect到一个服务器,除非你每次收发之前都来个connect。同样的代码,放在.c文件的main函原创 2017-03-13 14:08:25 · 2981 阅读 · 0 评论 -
linux signal, sigaction.sa_mask, sigwait的区别
signal函数重定向信号的处理函数,默认为阻塞(BLOCK)模式,就是说在运行一个信号的处理函数时,再收到同样的信号,将直接被阻塞,而不是再次立即调用处理函数(不允许中断嵌套)。sigaction.sa_mask可以设定调用信号处理函数时需要阻塞的信号;sigaction.sa_flags默认为0,效果跟signal类似,阻塞本身信号;如果设置为SA_NODEFER,那么在运行信号的原创 2017-02-10 16:04:08 · 1395 阅读 · 0 评论 -
搜索代码所使用过的boost库函数等关键字
sed -n 's/.*\(boost\:\:[a-zA-Z]*[\<\(]\).*/\1/p' boost.txt | sort | uniq原创 2017-02-08 11:01:46 · 355 阅读 · 0 评论 -
Shell & Perl编程笔记(1)
1. Shell中用=赋值时,=两边不能有空格;2. Shell中else if书写为elif,Perl中书写为elsif;3. Shell中判断字符串为空用-z $str或者-n $str;原创 2013-11-06 17:04:05 · 694 阅读 · 0 评论 -
使用STL库时遇到的奇特错误
用g++编译代码时,代码中用到了STL,编译无法通过,部分错误信息:../include/c++/4.5.3/bits/cpp_type_traits.h:94:24: error: expected primary-expression before 'unsigned'../include/c++/4.5.3/bits/cpp_type_traits.h:94:24: error: e原创 2013-11-29 14:41:51 · 775 阅读 · 0 评论 -
virtualbox使用中遇到的一些问题
1. 无法在和主机的共享目录下创建linux链接文件,解决办法:VBoxManage setextradata VM_NAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARE_NAME 1参考:http://superuser.com/questions/446362/why-cant-i-create-soft-link-o原创 2013-11-27 14:09:52 · 703 阅读 · 0 评论 -
用Vivado/SDK实现microblaze的一些总结
1. 可以在vivado中通过block diagram生成microblaze的硬件,注意Xilinx提供了一个microblaze的例子,如果有问题可以参考这个例子来实现;2. 画好bd以后,先保存,然后verify,然后保存,然后点“生成bitstram”Vivado会自动按照综合——实现——生成bit文件的顺序执行;如果其中出现错误,一定要仔细参考message的提示,然后从网上和原创 2013-11-22 11:11:26 · 10706 阅读 · 0 评论 -
nm, objdump
nm工具用于查看ELF文件或目标文件中的符号信息,比如定义的某个变量的地址,具体看参考如下博文:http://blog.csdn.net/batoom/article/details/6614894“对于 nm 命令列出的每个符号,它们的值使用十六进制来表示(缺省行为),并且在该符号前面加上了一个表示符号类型的编码字符。常见的各种编码包括:A 表示绝对 (absolute),这意味着不能将原创 2013-11-22 11:03:20 · 586 阅读 · 0 评论 -
fedora19安装tigervnc、wireshark的过程总结
公司用代理上外网,一开始yum源都用不了。后来把163、sohu的源也加了,也用ccproxy代理出去了,但是yum就是不能用,郁闷...干脆下了一个fedora19的安装盘,DVD,4个G下载链接在这:http://pan.baidu.com/share/link?shareid=906660876&uk=3994249334&fid=1800937106下完之后将iso光盘里面原创 2017-04-19 13:42:00 · 757 阅读 · 0 评论