![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
tinyhare
喜欢电子,喜欢编程,嘿嘿。。
展开
-
在Linux中设置线程的优先级
如何在Linux中设置线程的优先级我们使用int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void*), void *arg);来创建线程,但是如何设置线程的优先级呢?在讨论这个问题的时候,我们先要确定当前线程使用的调度策略,posix提供了int转载 2012-09-02 09:21:27 · 1413 阅读 · 0 评论 -
一些GDB的使用方法
1、首先需要用gcc(g++) 对源文件进行编译生成可执行文件,并且在编译时加上选项-g,把调试信息加到目标文件中。2、假设生成的可执行文件为test,那么gdb test 可以用gdb打开test文件,然后通过break linenum设置断点。可以输入list查看源文件和行号,方便设置断点。断点设置好后就可以run命令运行到断点处了。下面是转载一、初始化输入gd转载 2012-11-10 23:33:18 · 1057 阅读 · 0 评论 -
Linux动态连接原理
Linux动态连接原理注意:以下所用的连接器是指,ld,而加载器是指ld-linux.so;1, GOT表;GOT(Global Offset Table)表中每一项都是本运行模块要引用的一个全局变量或函数的地址。可以用GOT表来间接引用全局变量、函数,也可以把GOT表的首地址作为一个基 准,用相对于该基准的偏移量来引用静态变量、静态函数。由于加载器不会把运行模块加载到固定地转载 2012-11-11 10:27:58 · 1224 阅读 · 0 评论 -
linux下查看磁盘空间
如果要查看磁盘还剩多少空间,当然是用df的命令了。[root@localhost ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/sda2 14G 11G 2.6G 82% / /dev/sda1 99M 14M 81M 14% /boot tmpfs转载 2012-12-04 10:48:07 · 553 阅读 · 0 评论 -
linux下获得时间差,精确到微秒级别
最近需要测算软件计算FFT所需要的时间,所收集参考的资料:#include #include /* 包含标准库头文件 */ #include int main(int argc, char **arg转载 2012-11-21 16:35:51 · 2997 阅读 · 0 评论 -
ioctl 函数
本函数影响由fd 参数引用的一个打开的文件。 #includeint ioctl( int fd, int request, .../* void *arg */ );返回0 :成功 -1 :出错 第三个参数总是一个指针,但指针的类型依赖于request 参数。我们可以把和网络相关的请求划分为6 类:套接口操作文件操作接口操作ARP 高速缓存操作转载 2012-12-09 11:28:28 · 517 阅读 · 0 评论 -
Linux - find命令查找文件或者文件夹
首先是find的语法:find [起始目录] 寻找条件 操作还有种表述方式:find PATH OPTION [-exec COMMAND { } \;]因为find命令会根据我们给的option,也就是寻找条件从我们给出的目录开始对其中文件及其下子目录中的文件进行递归搜索,所以我觉的这个地方说是“起始目录”是非常好的。该命令中的寻找条件可以是一个用逻辑运算符 not、and、or转载 2012-12-13 14:16:31 · 1059 阅读 · 0 评论 -
Linux 用户下定时器的实现
注:原文头文件缺失,有时间再添加Linux下的定时器有两种,以下分别介绍: 1、alarm 如果不要求很精确的话,用alarm()和signal()就够了 unsigned int alarm(unsigned int seconds) 函数说明: alarm()用来设置信号SIGALRM在经过参数seconds指定的秒数后传送给目前的进程。如果参数second转载 2013-01-07 14:23:54 · 1088 阅读 · 0 评论 -
Linux 下定时器的实现方式分析
概论定时器属于基本的基础组件,不管是用户空间的程序开发,还是内核空间的程序开发,很多时候都需要有定时器作为基础组件的支持,但使用场景的不同,对定时器的实现考虑也不尽相同,本文讨论了在 Linux 环境下,应用层和内核层的定时器的各种实现方法,并分析了各种实现方法的利弊以及适宜的使用环境。首先,给出一个基本模型,定时器的实现,需要具备以下几个行为,这也是在后面评判各种定时器实现的一个基本模型转载 2013-01-07 14:34:34 · 845 阅读 · 0 评论 -
程序调试信息的输出__FILE__,__LINE__,不定参数的宏定义
前言:我们在写程序的时候,总是或多或少会加入一些printf之类的语句用于输出调试信息,但是printf语句有个很不方便的地方就是当我们需要发布程序的时候要一条一条的把这些语句删除,而一旦需要再次调试的时候,这些语句又不得不一条条的加上,这给我们带来了很大的不便,浪费了我们很多的时间,也造成了调试的效率低下。所以,很多人会选择使用宏定义的方式来输出调试语句。比如,定义一个宏开关:#de转载 2013-01-09 09:39:38 · 934 阅读 · 0 评论 -
linux 多线程信号总结
linux 多线程信号总结(一)1. 在多线程环境下,产生的信号是传递给整个进程的,一般而言,所有线程都有机会收到这个信号,进程在收到信号的的线程上下文执行信号处理函数,具体是哪个线程执行的难以获知。 2 signal函数BSD/Linux的实现并不在信号处理函数调用时,恢复信号的处理为默认,而是在信号处理时阻塞此信号,直到信号处理函数返回。其他实现可能在调用信号处理函数时,恢复转载 2013-01-10 11:05:16 · 1423 阅读 · 0 评论 -
偶遇的技术,愿有时间留给我去追寻O(∩_∩)O~
socket canCAN 设备 使用伯克利的socket接口和linux网络协议栈的一种实现方法http://blog.csdn.net/zhangxiaopeng0829/article/details/7646639############################### 我是分割线 ####################################原创 2012-10-11 17:22:13 · 1245 阅读 · 0 评论 -
一个失误,编译器报错Error: invalid char '[' beginning operand 2 `[ %eax]'
因为一个疏忽导致找bug几小时,上网搜寻不得,现写于此,愿向我一样被这一小概率事件折磨的人早点解脱。。。gprs.c: Assembler messages:gprs.c:329: Error: invalid char '[' beginning operand 2 `[ %eax]'gprs.c:329: Error: invalid char '[' beginning oper原创 2012-10-28 20:51:19 · 1952 阅读 · 0 评论 -
GPRS模块在Linux平台上ppp拨号上网总结与心得
由于一个嵌入式平台上项目开发的需要,在arm平台上实施ppp拨号上网。说起这个linux平台的ppp拨号上网,也许很多人觉很简单,网上的成功的例子很多!不错,你说的对,但是我还要给点我的看法,就是这个简单的ppp拨号折腾了我的时间之长,我都不好意思讲。但是,现在看来这个过程学到了好多的东西,得到很多分析能力的锻炼。现在成功移植到arm开发板上。特写日志于此,分享我的这段时间以来的总结:转载 2012-10-28 18:16:29 · 1090 阅读 · 0 评论 -
linux下socket connect 阻塞方式 阻塞时间控制
同事今天问我,如何在linux下的c代码里面控制connect的阻塞时间。应用的背景是:linux下的c程序有两个目标IP需要connect,如果用阻塞方式,当其中一个IP不能连接的情况下,程序将阻塞在connect函数上。 本来以为用setsockopt修改个什么参数就可以搞定,结果baidu了半天也没有结果。倒是在网上搜到很多这样的解决方案:将connect方式设置为非阻塞方式,这转载 2012-09-04 20:48:41 · 1647 阅读 · 0 评论 -
报错 error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before
1. 头文件中extern pthread_t 变量,没有包含pthread.h头文件。(我遇到的)2.包含头文件时少写“#”号3.定义函数 “{ ”处 打成 “;”4.gcc 编译 C++文件。原创 2012-09-04 21:22:59 · 1519 阅读 · 0 评论 -
linux下socket connect超时设置
如何设置socket的Connect超时(linux)今天发现自己的系统存在很严重缺陷,当前台关闭的时候后台就无法正常工作,原因 很好定位,后台的socket连接超时时间过长,系统默认时间好像是75秒,于是找资料,根据下边文章中的内容解决了,把超时时间设为5秒后,感觉好多 了。看来还有好多东西需要慢慢挖掘阿!如何设置socket的Connect超时(linux)[Fro转载 2012-09-04 21:47:36 · 802 阅读 · 0 评论 -
学习笔记之SOCKET网络编程之二
1.sendto()和recvfrom()函数Sendto()和recvfrom()函数用于在无连接的数据报套接字方式下进行数据发送和接收.sendto()函数定义:int sendto(int s,void *msg,int len,unsigned int flags,struct sockaddr *to, int tolen);在发送数据时.由于本地端并没有与远程机器建转载 2012-09-17 16:28:36 · 662 阅读 · 0 评论 -
学习笔记之SOCKET网络编程
1.什么是SOCKET (SOCKET也就是所谓的套接字)简单的说它是一个文件.它是使用标准Unix文件描述符和其它程序通讯的方式,Unix中的一切就是文件,程序在执行任何形式的 I/O 的时候,程序是在读或者写一个文件描述符。一个文件描述符只是一个和打开的文件相关联的整数,这个文件可能是一个网络连接,FIFO,管道,终端,磁盘上的文件或者什么其它的东西.这里的SOCKET就是一个特定的文转载 2012-09-17 16:30:54 · 576 阅读 · 0 评论 -
超实用的8个Linux命令行性能监测工具
摘要:本文总结了8个非常实用的Linux命令行性能监测工具,这些命令支持所有的Linux系统,不仅可以用于监控系统,还可以发现导致性能问题的原因所在。对每个系统/网络管理员来说,每天监测Linux系统性能是一项非常艰巨的任务。在IT业从事5年的Linux系统管理员后,我发现监控和保持系统正常运行真不是件容易的事,为此,我总结了8个非常实用的命令行工具给Linux/Unix系统管理员。这转载 2012-09-20 13:41:01 · 683 阅读 · 0 评论 -
用C与脚本的混合编程来处理配置文件
在linux上写程序、做网管的人,或多或少都会几种脚本。脚本语言灵活的变量类型、强大的正则表达式处理能力,再加上linux系统本身的管道、重定向以及丰富的命令行工具,让你编程起来游刃有余。而C语言固然有种种优势,但不可否认,很多场合下,用脚本语言更为方便,比如我们将举例说明的对配置文件的处理。先看看我们示例程序的任务:假设我们有一个用c写的程序,它有一个配置文件 user.co转载 2012-09-20 13:28:59 · 741 阅读 · 0 评论 -
深入分析 Linux 内核链表
简介: 本文详细分析了 2.6.x 内核中链表结构的实现,并通过实例对每个链表操作接口进行了详尽的讲解。一、链表数据结构简介链表是一种常用的组织有序数据的数据结构,它通过指针将一系列数据节点连接成一条数据链,是线性表的一种重要实现方式。相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可以随机分配空间,可以高效地在链表中的任意位置实时插入或删除数据。链表的开销主要是转载 2012-10-12 14:38:34 · 490 阅读 · 0 评论 -
LINUX下查找文件的方法
findfind是一个非常有效的工具,它可以遍历当前目录甚至于整个文件系统来查找某些文件或目录.主要选项: -name 按照文件名查找文件 -perm 按照文件权限来查找文件 -prune 不在当前指定的目录中查找 -user 按照文件属主来查找文件 -group 按照文件所属的组来查找文件 -mtime -n +n 按照文件的更改时间来查找文件,-n表示文件更改时转载 2012-10-13 13:15:43 · 461 阅读 · 0 评论 -
用ioctl获得本地ip地址,ifconf和ifreq
用ioctl获得本地ip地址时要用到两个结构体ifconf和ifreq,它们对于大多数人来说都是比较陌生的,这里给大家一种比较简单的理解方法,当然只一种帮助理解的方法,在描述中可能会有一些地方与真实定义有所出入,仅供参考.首先先认识一下ifconf和ifreq: //ifconf通常是用来保存所有接口信息的 //if.h struct ifconf { int转载 2012-10-29 14:19:28 · 696 阅读 · 0 评论 -
getsockopt/setsockopt函数说明(二)
SO_LINGER的这种操作模式是由linger结构来控制的:struct linger {int l_onoff;int l_linger;};成员l_onoff为一个布尔值,非零值表示TRUE,而零则表示FALSE。这个选项的三个值描述如下:1 设置l_onoff为FALSE使得成员l_linger被忽略,而使用默认的close行为。也就是说,close调用会立即返转载 2012-11-01 19:23:39 · 673 阅读 · 0 评论 -
getsockopt/setsockopt函数说明(一)
功能描述: 获取或者设置与某个套接字关联的选项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名称必须给出。为了操作套接字层的选项,应该将层的值指定为SOL_SOCKET。为了操作其它层的选项,控制选项的合适协议号必须给出。例如,为了表示一个选项由TCP协议解析,层应该设定为协议号TCP。用法: int getsockopt(int转载 2012-11-01 16:43:27 · 1358 阅读 · 0 评论 -
broadcom corporation BCM4313 linux驱动下载地址
http://www.broadcom.com/support/802.11/linux_sta.php原创 2013-07-04 21:08:03 · 3381 阅读 · 0 评论