linux
xiaoanian
这个作者很懒,什么都没留下…
展开
-
ubuntu rfkill 启动无线网卡等无线设备
Linux 中的 rfkill 是用来管理无线模块的命令, 参考http://blog.free-abc.com.cn/?tag=rfkill查看无线设备情况 rfkill list启用无线网卡命令为 rfkill unblock 0其中0为设备对应的id,可以是1、2……原创 2012-02-24 10:53:33 · 2442 阅读 · 0 评论 -
linux c++ undefined reference
一个c++工程中用到了自己写的c静态库。但是makefile文件怎么改都不对,老是undefined reference的问题。看了这篇文章,undefined reference问题总结 发现c++程序在调用c库的时候,其头文件要被 extern "C" 包围。又简单查了一下原因,这里说得很清楚:Why do we need extern “C”{ #include } i转载 2013-04-23 18:24:14 · 1316 阅读 · 0 评论 -
解决Ubuntu apt-get install时No address associated with hostname
原因时没有配置dns,参考:http://keren.iteye.com/blog/1528500按以下执行即可:sudo vim /etc/resolv.conf在末尾添加: nameserver 192.168.100.1 其中192.168.100.1是你的dns服务器地址保存推出:wq重启网卡即可:/etc/init.d/networking restart转载 2013-04-26 15:50:37 · 3727 阅读 · 0 评论 -
linux select检测连接断开
select函数可以用来监听多个socket连接。但是单纯select不能检检测连接断开的情况。可以配合recv函数来检测远程主机主动断开的情况。远程主机断开后,select会立即返回(返回值大于0!不能用来判断断开的情况),这时调用recv函数返回的长度为0,这种情况就能判断主动断开了。参照:http://bbs.csdn.net/topics/80103159 ,远程主机主动断开,se原创 2013-04-24 11:43:05 · 6328 阅读 · 1 评论 -
c静态库被c++程序调用时应该注意的问题
用 gcc 和 ar 编译的c静态库*.a,被c++程序调用,用g++编译。1.头文件问题:c静态库的头文件一定要被其头文件要被 extern "C" 包围,否则可能出现undefined reference的问题,参考:http://blog.csdn.net/xiaoanian/article/details/88410832.结构体对齐问题。很多c库为了提高效率,对结构体直接在内存上原创 2013-04-24 15:44:57 · 1163 阅读 · 0 评论 -
SUSE上装svn客户端(svn client)
最近要用几台SUSE跑程序,要装SVN。更蛋疼的是,这几台机器都是通过ssh访问,并且连不上外网。似乎比较困难,不像ubuntu下 sudo apt-get install subversion 就行了。网上的资料都是讲如何装svnserve的,其实根本不需要server呀。查了很多方法,发现有一个CollabNet Subversion的东西,但是太大了,还要装JDK。既然要原创 2012-04-18 14:34:25 · 3960 阅读 · 0 评论 -
shmat permission denied 的解决方法
进程间可以通过shmget/shmat等一系列函数共享内存。参照这些博客,我们可以实现:http://nnssll.blog.51cto.com/902724/199808 (原文有错,注意看评论)http://wellwy.blog.51cto.com/1609602/492083不过在尝试过程中遇到了一些困难:shm_addr=(char*)shmat(shm_id原创 2012-04-21 23:41:53 · 5138 阅读 · 0 评论 -
Segmentation fault 段错误 原因简单总结
Segmentation fault 是linux c 中很常见的错误。结合资料和个人经验,一般有以下原因。1.指针指向了非法内存,例如申明一个指针,但是没有对指针进行初始化,直接就引用,或者引用里面的元素或者函数,或者没有分配内存就进行释放等,另外,申请内存还要检查是否申请成功,如果没有申请成功也会出现这种情况。2.通过malloc申请的内存实际上在要在第一次使用时才真正分配,这种情况也原创 2012-03-22 19:37:33 · 4470 阅读 · 0 评论 -
linux多线程调试时,子线程不输出打印
原因是主线程结束了,子线程也跟着结束了。要在主线程中用空的while循环等待。原创 2012-04-03 15:26:34 · 2843 阅读 · 0 评论 -
linux安装gtk的依赖关系
gtk所需安装包的依赖关系如下:gtk2.0 - glib2.0 - zlib - libffi - atk - pango - libcairo2-dev(cario) - gdk-pixbuf - libpng libjpeg libtiff - libxext-dev - libxi-dev(即l原创 2012-03-01 14:25:49 · 1986 阅读 · 0 评论 -
linux自定义信号需要注意的问题
1. 自定义信号最好从 SIGRTMIN 开始,但最好保留前几个。比如SIGRTMIN+10。2. 用kill(0,signo)发送自定义信号时,本进程和所有子进程(通过exec等方式启动的)都必须有对应的处理函数,否则所有进程都会退出。原创 2012-02-29 21:08:56 · 2106 阅读 · 0 评论 -
apt-get正在等待报头(waiting for headers)解决方法
可能的解决方法1. 删除/var/cache/apt/archives/下的所有文件。可能是上次没有成功导致遗留了部分文件。2. 如果使用的是代理,需要检查DNS。如果机器不能连接DNS服务器,要将sources.list中的源地址换成IP。原创 2013-12-02 22:07:03 · 21717 阅读 · 0 评论