点滴积累
嵌入式linux
持续积累,持续提高
展开
-
【转载】#、##操作符,__VA_ARGS__
1.#——字符串假如希望在字符串中包含宏参数,ANSI C允许这样作,在类函数宏的替换部分,#符号用作一个预处理运算符,它可以把语言符号转化程字符串。例如,如果x是一个宏参量,那么#x可以把参数名转化成相应的字符串。该过程称为字符串化(stringizing).#incldue #define PSQR(x) printf("the square of" #x "is %d.\n",(转载 2012-08-15 19:03:17 · 797 阅读 · 0 评论 -
c 中typedef函数的用法
#include typedef int (*FP_CALC)(int,int); //注意这里不是函数声明而是函数定义,它是一个地址,你可以直接输出add看看 这里只是定义了FP_CALC的函数类型,和定义struct的类型差不多意思。int add(inta, intb) { returna + b; } in转载 2012-08-15 19:26:08 · 983 阅读 · 0 评论 -
变长参数的宏定义
由于变长参数宏定义是编译器相关的,为此用条件编译根据编译器类型将宏定义隔开。但这种做法会引入重复代码。简单例子如下: #define LOG(fmt, args…) printf(fmt, ##args) #define debug(format, ...) fprintf (stderr, format, __VA_ARGS__) // pclint检查可能会出现function原创 2012-08-16 12:55:55 · 4025 阅读 · 0 评论 -
tftp服务器搭建
1安装 xinetd: sudo apt-get install xinetd 2安装 sudo apt-get install tftpd3 vi /etc/xinetd.d/tftpservice tftp { socket_type =dgram protocol =udp wa原创 2012-08-16 12:57:09 · 854 阅读 · 0 评论 -
NFS 的配置,挂载,控制大全。
顶0 踩 Linux应用:NFS服务器的安装和故障排除Linux应用:NFS服务器的安装和故障排除2008-10-22NFS服务器的工作原理 NFS服务器的安装和故障排除本章要点 NFS(Network File System,网络文件系统)服务器的工作原理。 安装配置NFS服务器。 NFS的图形化配置。 NFS的客户端配置。转载 2012-08-17 13:20:33 · 3512 阅读 · 0 评论 -
NFS server 搭建
使用nfs的好处: 1)资源共享 2)不用每次都下载到板子上运行,而只需要在mount下运行即可。一、steps by setps 1、安装nfs-server apt-get install nfs-kernel-server 2、修改/etc/exports。指定路径及权限 /home/cbh/workdir *(rw,no_root_squas原创 2012-08-17 14:09:26 · 697 阅读 · 0 评论 -
linux下join命令的用法
功能说明:将两个文件中,指定栏位内容相同的行连接起来。 语 法:join [-i][-a][-e][-o] [-t][-v][-1][-2][--help] [--version][文件1][文件2] 补充说明:找出两个文件中,指定栏位内容相同的行,并加以合并,再输出到标准输出设备。 参 数: -a 除了显示原来的输出内容之外,还转载 2012-08-21 09:30:53 · 3016 阅读 · 0 评论 -
XSD 数值数据类型
学习地址,保存记录。XSD:http://www.w3school.com.cn/schema/schema_dtypes_misc.asp WSDL:http://www.w3school.com.cn/wsdl/index.asp 备注XSD 复合类型指示器通过指示器,我们可以控制在文档中使用元素的方式。指示器有七种指示器:Order原创 2012-08-21 09:14:45 · 744 阅读 · 0 评论 -
指针函数与函数指针的区别
一、在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义:1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针 类型标识符 *函数名(参数表) int *f(x,y); 首先它是一个函数,只不过这个函数的返回值是一个地址值。函数返回值必须用同类型的指针变转载 2012-08-22 14:32:23 · 653 阅读 · 0 评论 -
消息队列函数(msgget、msgctl、msgsnd、msgrcv)及其范例 .
消息队列函数由msgget、msgctl、msgsnd、msgrcv四个函数组成。下面的表格列出了这四个函数的函数原型及其具体说明。1. msgget函数原型msgget(得到消息队列标识符或创建一个消息队列对象)所需头文件#include #include #include 函数说明得到消息队转载 2012-09-28 21:16:07 · 1392 阅读 · 0 评论 -
Linux修改系统后立即重起可能出现的问题
Linux修改文件立即重起,这时候可能修改的文件还没有被同步到文件系统中。重起后,可能文件中该文件的内容没有被修改。 如果需要立即重起,可以使用sync同步下,将立即将修改内容同步到文件系统flash上。原创 2012-09-13 10:42:41 · 483 阅读 · 0 评论 -
Linux主机名Hostname详解 .
什么是主机名: 无论在局域网还是INTERNET上,每台主机都有一个IP地址,是为了区分此台主机和彼台主机,也就是说IP地址就是主机的门牌号。但IP地址不方便记忆,所以又有了域名。域名只是在公网(INtERNET)中存在(以实验为目的的局域网域网实验性除外),每个域名都对应一个IP地址,但一个 IP地址可有对应多个域名。域名类型 linuxsir.org 这样的; 主机名是用于什么的呢转载 2012-09-13 15:07:01 · 778 阅读 · 0 评论 -
Boost Thread
http://www.boost.org/doc/html/thread.html个人觉得scoped_lock这种封装挺怪,自己lock,unlock有什么不好?对资源的管理应该是程序员的基本素质,高手们是不是把程序员给宠坏了?Boost也提供了跨平台的多執行緒函式庫,該有的都有(R/W mutex還有問題,還沒正式納入),不過跟普通的多執行緒函式庫有點不同1. 啟動方法转载 2012-09-18 09:46:29 · 960 阅读 · 0 评论 -
搭建NTP服务器实现时钟同步
在公司内部有时候需要使用一台内部服务器来实现时钟同步功能,来保证内部服务器的时间一致。搭建NTP服务器总体来讲还是比较简单的,这里介绍下。 1. 安装NTP软件1.yum -y install ntp 2.or 3.tar zxvf ntp-4.2.6p5.tar.gz 4.cd ntp-4.2.6p5 5../configure --prefix=/usr/local/nt转载 2012-09-18 17:07:49 · 1351 阅读 · 0 评论 -
ntpd与ntpdate的区别
之前配置ntpd的时候搜到一句话,印象很深刻,也觉得很有标题党的效果,就借鉴为标题了:“我认为有几种人是必须不招聘/裁掉的: 1 用ntpdate代替ntpd的人”但具体原因不太懂,总觉得还是用ntpdate比较方便。今天问了红帽技术支持,对方的解释是:ntpd在实际同步时间时是一点点的校准过来时间的,最终把时间慢慢的校正对。而ntpdate不会考虑其他程序是否会阵痛,直接调整时间转载 2012-09-18 18:13:24 · 1007 阅读 · 0 评论 -
Linux下时间和定时器 ZZ
转自http://blog.chinaunix.net/u1/35065/showart_1870601.html重点读了第三种方法。文章写得很好,加了一点点注释可参考 http://linux.die.net/man/3/timer_settime http://linux.die.net/man/2/setitimer转载 2012-10-10 09:31:12 · 1027 阅读 · 0 评论 -
多线程sleep
linux c的sleep 和多线程测试一直担心在线程里加sleep会引起进程所有的线程挂起,测试过了不会 #include pthread.h>#include stdio.h>#include sys/time.h>#include string.h>#include unistd.h>#define MAX 10pthread_t转载 2012-10-10 15:27:24 · 1356 阅读 · 0 评论 -
linux线程的优先级设置
如何在linux/unix中设置线程的优先级int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void*), void *arg);来创建线程,但是如何设置线程的优先级呢?在讨论这个问题的时候,我们先要确定当前线程使用的调度策略,posix提供了i转载 2012-10-10 09:27:36 · 1972 阅读 · 0 评论 -
c/c++内存管理参考文章
参考网站:http://soft.yesky.com/lesson/110/2381610.shtml步骤:1)了解内存管理的方式2)借助内存分析的工具分析内存使用。3)分析实现中的内存,进行优化。原创 2012-09-21 10:34:40 · 837 阅读 · 0 评论 -
RBL, UBL, Uboot的关系
RBL, UBL, Uboot的关系1)RBL=ROM Bootloader,UBL=user Bootloader。2)RBL为TI固化在芯片ROM中的bootloader,OMAP上电启动过后首先将运行RBL,然后通过RBL加载UBL,再通过UBL加载uboot,而uboot就是用来加载Linux内核的。如果在具体应用过程中不需要使用到Linux(实际上一般都会用到的),uboot转载 2012-09-21 11:26:57 · 2824 阅读 · 0 评论 -
从头到尾彻底理解傅里叶变换算法
经典算法研究系列:十、从头到尾彻底理解傅里叶变换算法、上作者:July、dznlong 二零一一年二月二十日推荐阅读:The Scientist and Engineer's Guide to Digital Signal Processing,By Steven W. Smith, Ph.D。此书地址:http://www.dspguide.com/pdfbook.htm。博转载 2012-09-20 18:26:10 · 1561 阅读 · 0 评论 -
离散余弦变换
离散余弦变换(英语:DCT for Discrete Cosine Transform)是与傅里叶变换相关的一种变换,它类似于离散傅里叶变换(DFT for Discrete Fourier Transform),但是只使用实数。离散余弦变换相当于一个长度大概是它两倍的离散傅里叶变换,这个离散傅里叶变换是对一个实偶函数进行的(因为一个实偶函数的傅里叶变换仍然是一个实偶函数),在有些变形里面需要转载 2012-09-21 10:53:49 · 959 阅读 · 0 评论 -
C++内存管理
[导语]内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能,更大的自由,C++菜鸟的收获则是一遍一遍的检查代码和对C++的痛恨,但内存管理在C++中无处不在,内存泄漏几乎在每个C++程序中都会发生,因此要想成为C++高手,内存管理一关是必须要过的,除非放弃C++,转到Java或者.NET,他们的内存管理基本是自动的,当然你也放弃了自由和对内存的支配权转载 2012-09-21 09:31:11 · 1436 阅读 · 0 评论 -
学会用core dump调试程序错误(转)
前言 最近在项目中遇到大型程序出现SIGSEGV ,一直不知道用core dump工具来调试程序,花了近一周的时间,才定位问题,老大很生气,后果很严重,呵呵,事后仔细学习了这块的知识,了解一点core dump的知识。 在使用半导体作为内存的材料前,人类是利用线圈当作内存的材料(发明者为王安),线圈就叫作core ,用线圈做的内存就叫作“core memory”。(线圈的单词应该是c转载 2012-10-17 09:34:49 · 1196 阅读 · 0 评论 -
/proc虚拟文件系统与系统内核参数修改方法
/proc 虚拟文件系统用作查看和配置系统内核参数的接口。/proc 是一个层次结构的目录其中包含了系统内核的当前设置值。之所以称为/proc 是因为该虚拟文件系统通常发送信息给别的操作系统进程。虚拟文件系统不会实际的存在于磁盘中。/proc 虚拟文件在内存中动态的根据内核参数创建。使用 man proc 可以查看到很多与 /proc 虚拟文件系统相关的信息。可以使用 cat,less转载 2012-11-07 11:26:23 · 4826 阅读 · 0 评论 -
linux ln -s 符号链接的使用
说明: ln用于建立符号链接,这样就不需要将需要的文件copy到本地。 ln执行后,连接的目录下会自动生成与选择的源一样的“符号”。 如: ln -s /home/basic/dl/ build/ 执行完成后,会在build路径下有一个dl的目录, 使用ls -l查看会发现build下的dl-〉/home/basic/dl原创 2012-11-07 09:03:17 · 3109 阅读 · 0 评论 -
SecureCRT 修改时间脚本
脚本:#$language = "VBScript"#$interface = "1.0"Sub main ' turn on synchronous mode so we don't miss any data crt.Screen.Synchronous = True ' Wait for a string that looks like "login: " or原创 2012-11-09 16:37:46 · 6494 阅读 · 0 评论 -
linux 使用nfs进行设备调试的方法
方法:1. 启动时不要启动自己的进程。比如y有些是在/etc/init.d/下的启动脚本。2. 服务器上配置nfs服务,正确配置文件系统的路径。3. 在firmware上进行mount。 如 mount -tnfs -onolock 159.99.251.231:/home/abc/ONVIF/buildroot/output/target /mnt4. 在m原创 2012-11-08 08:31:22 · 1580 阅读 · 0 评论 -
linux中getopt的用法
linux中getopt的用法getopt被用来解析命令行选项参数。就不用自己写东东处理argv了。#include extern char *optarg; //选项的参数指针 extern int optind, //下一次调用getopt的时,从optind存储的位置处重新开始检查选项。 extern int转载 2012-12-17 14:33:43 · 532 阅读 · 0 评论 -
PPM / PGM / PBM 图像文件格式
转自:http://www.cnblogs.com/hnrainll/archive/2011/06/08/2075629.html 下面将详细介绍ppm文件ppm文件是一种图像文件,有其自己的文件格式。ppm文件由两个部分组成:第一个部分是三行ASCII码,这个部分决定了图像的存储格式以及图像的特征;第二个部分就是图像的数据部分,图像就是由这个部分组成的。 ppm的第一部分由三转载 2012-12-17 16:38:06 · 2333 阅读 · 0 评论 -
http与https的区别
在URL前加https://前缀表明是用SSL加密的。你的电脑与服务器之间收发的信息传输将更加安全。 Web服务器启用SSL需要获得一个服务器证书并将该证书与要使用SSL的服务器绑定。 http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议 要比http协议安全HTTPS转载 2013-03-11 15:23:39 · 828 阅读 · 0 评论 -
Unix/Linux C 静态库生成&使用方法
静态库的创建与操作:ar [drqtpmx] [options] archive.a object.o-d: 从静态库中删除文件objfile-r: 替换或插入objfile-q: quick append,加入objfile without checking-t: type打印静态库中的成员文件列表-p: Print指定objfile-m: move移动archive原创 2013-06-05 08:39:37 · 1021 阅读 · 0 评论 -
Bonjour
http://en.wikipedia.org/wiki/Bonjour_(software) Bonjour is Apple's implementation of Zero configuration networking (Zeroconf), a group of technologies that includesservice discovery, add转载 2013-07-01 17:31:22 · 1057 阅读 · 0 评论 -
linux core文件生成配置
1. 通用的不能生产原因网络上可以查找到,就是配置core文件输出条件的一些配置。 本空间中有转载一些文章介绍。 但是有一点需要注意的是,对于自己编译的系统,启动了该功能(可能涉及到,没尝试过),如果重启,那些配置可能会被还原。 所以,在想生成core文件时,最好让系统不要重启。2. 还有其他原因,如果程序员在代码中接管了系统的系统中断退出信号的处理,那么也可能产生不了原创 2013-07-23 08:57:07 · 970 阅读 · 0 评论 -
How to build DHCP&NTP server on Linux(Ubuntu)
1. DHCP Sever1) Install Command: $apt-get install dhcp3-servermaybe need apt-get autoremove dhcp3-server firstly.2) configure /etc/dhcp/dhcpd.conf as below: #sample /etc/d原创 2013-07-23 18:41:21 · 1098 阅读 · 0 评论 -
C中的预编译宏定义
转自:http://www.uml.org.cn/c++/200902104.asp 在将一个C源程序转换为可执行程序的过程中, 编译预处理是最初的步骤. 这一步骤是由预处理器(preprocessor)来完成的. 在源流程序被编译器处理之前, 预处理器首先对源程序中的"宏(macro)"进行处理.C初学者可能对预处理器没什么概念, 这是情有可原的: 一般的C编译器都将预处理,转载 2013-07-31 09:58:43 · 851 阅读 · 0 评论 -
实现高性能gsoap服务 .
转自:http://blog.csdn.net/kmblack1/article/details/8863389 服务流程图代码请参看gSOAP 2.8.14 User Guide 中的7.2.4 How to Create a Multi-Threaded Stand-Alone Service. listen : 监听soap_accept方法,返回一个SOAP转载 2013-07-31 11:12:37 · 1259 阅读 · 0 评论 -
android反编译工具总结
序:总结反编译主要的目的在于学习。利用反编译进行相关的汉化或修改,都是不道德的!大家都知道,将apk文件解压后有两部分文件需要处理,一种是xml文件,另一种一个dex文件(.dex),我们可以从.dex文件中得到.class,利用后者再得到大家垂涎已久的java文件。下面分别针对这三种格式的文件进行反编译处理;1.对xml文件进行包的解析,一般有两种方式:apktool(推荐)转载 2013-07-31 14:48:32 · 914 阅读 · 1 评论 -
Android离线语音识别
推荐以下一些人的博客1. http://www.cnblogs.com/huanghuang/category/286243.html 2. http://ucla.jamesyxu.com/?p=118 我按照他们的来做 都没弄出来,今天只用了编译好的so+java文件来编译,居然成功运行。就是效果不好。等后续完成了,再在这里补上一篇。 下面的这个应该可以成功原创 2013-07-24 19:33:35 · 2726 阅读 · 0 评论 -
开源网站
学习J2EE的国外网站资源(提供源代码下载,技术文档,论坛,技术合作等)http://www.jdon.com/jive.htmhttp://www.theserverside.com/国外知名的源代码网站http://www.hotscripts.com ASP, C C++, CFML, flash, Java, Javascript, PHP, Perl, Pyt原创 2013-07-19 12:21:07 · 770 阅读 · 0 评论