linux开发记录
文章平均质量分 82
autowanglei
这个作者很懒,什么都没留下…
展开
-
Linux下Socket网络编程,文件传输,数据传输的C语言例子
什么是SocketSocket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的 Socket数据传输是一种特殊的转载 2013-07-03 16:59:59 · 1439 阅读 · 0 评论 -
安装Ubuntu nfs配置系统
Ubuntu上默认是没有安装Ubuntu nfs服务器的,因此我们首先安装Ubuntu nfs服务器端:$sudo apt-get install nfs-kernel-server。AD:对大家推荐很好使用的nfs服务系统之前,像让大家对Ubuntu nfs服务系统有所了解,然后对Ubuntu nfs服务系统全面讲解介绍,希望对大家有用配置Ubuntu nfs服务器,可见Ubuntu隶属转载 2013-11-07 18:48:57 · 497 阅读 · 0 评论 -
RS485/云台控制(PTZ)学习文档
RS485/云台控制(PTZ)学习文档zxf一.项目任务: 在linux环境下通过RS485串口实现对云台镜头的各种控制(包括摄像头的打开,关闭,各个方向的运动及运动速度,预设点,自动扫描,变倍,调焦,光圈,视角宽窄等等的各项控制)。二.学习步骤 1.验证串口,云台等硬件 考虑先在windows环境下转载 2013-11-29 17:46:51 · 6023 阅读 · 2 评论 -
云台控制协议VISCA、PELCO-D、PELCO-P
1. VISCA部分协议命令 控制命令格式备注预置点删预置点8X 01 04 3F 00 ZZ FFX=1-7,8是广播码,下同; ZZ=00-3F, 共64个预置点。设预置点8X 01 04 3F 01 ZZ FF转至预置点原创 2013-12-02 18:42:21 · 25225 阅读 · 0 评论 -
Linux关机命令详解
Linux关机命令详解点评:在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的,通过本文的介绍,希望你可以更加灵活的运用各种关机命令在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都可以达到重启系统的目的,但每个转载 2013-12-05 16:52:22 · 562 阅读 · 0 评论 -
linux C代码关机
#include system("halt"); //关机system("reboot"); //重启原创 2013-12-05 16:53:39 · 2224 阅读 · 0 评论 -
Ubuntu的shell之bash和dash
Ubuntu的 shell 默认安装的是 dash,而不是 bash。运行以下命令查看 sh 的详细信息,确认 shell 对应的程序是哪个:$ls -al /bin/shdash 比 bash 更轻,更快。但 bash 却更常用。如果一些命令、脚本等总不能正常执行,有可能是 dash 的原因。比如编译 Android 源代码的时候,如果使用 dash,则有可能编译出错,或转载 2013-12-17 17:15:00 · 582 阅读 · 0 评论 -
检查和收集 Linux 硬件信息的 7 个命令
在Linux系统中,有许多命令可用于查询主机的硬件信息。一些命令只针对特定的硬件组件,比如CPU、内存,一些命令可以查询多个硬件信息。这篇文章只是简单的让每个人了解查询硬件信息的基本命令使用,包括lscpu、hwinfo、lshw、lspci、lsblk、lsusb等等。1. lscpu用于查询CPU信息转载 2014-05-16 11:42:20 · 1092 阅读 · 0 评论 -
makefile ifeq 表示“或”
ifeq ($(DEV_VERSION), $(findstring $(DEV_VERSION), $(PANEL_VERSION)))原创 2014-06-05 17:27:30 · 2388 阅读 · 0 评论 -
function declaration isn't a prototype 如何解决
(void) 的问题 如果 函数xxxxxx(void) 括号里面没有加void就会出现此警告。原创 2014-05-30 17:24:14 · 769 阅读 · 0 评论 -
20140808
pgrep -f “线程名”原创 2014-08-08 17:50:50 · 426 阅读 · 0 评论 -
mtd_utils 移植
1、设置编释器 export PATH=/usr/local/arm/3.3.2/bin/:$PATH 2、解压压缩包: tar xvzf zlib-1.2.3.tar.gz tarxvzf mtd-utils-1.0.0.tar.gz 3、编释zlib-1.2.3.tar.gz CC=arm-linux-g原创 2014-08-11 19:41:27 · 1620 阅读 · 0 评论 -
ctags的用法
ctags(Generate tag files for source code)是vim下方便代码阅读的工具。尽管ctags也可以支持其它编辑器,但是它正式支持的只有VIM。并且VIM中已经默认安装了Ctags,它可以帮助程序员很容易地浏览源代码。 ctags 最先是用来生成C代码的tags文件,后来扩展成可以生成各类语言的tags, 有些语言也有专有的tags生成工具(比如java的j原创 2014-11-11 16:45:47 · 384 阅读 · 0 评论 -
linux添加新用户,新用户添加到sudo,安装samba,以及新用户和windows共享文件
1、linux添加新用户:sudoadduser new_name2、新用户添加到sudo#su 切换到root#addusersnew_name sudo 重启。3、安装samba #sudoapt-get update#sudoapt-get install samba 4、新用户添加到sambashare#sudoaddu原创 2014-11-10 15:17:19 · 618 阅读 · 0 评论 -
Makefile显示编译时间
TIME = $(shell date)all:@echo "$(TIME)"原创 2014-10-29 15:29:51 · 5333 阅读 · 0 评论 -
linux串口编程
串口概述 常见数据通信方式:并行通信,串行通信 UART的主要操作: >数据发送及接受 >产生中断 >产生波特率 >Loopback模式 >红外模式 >自动流控模式 串口参数的配置主要包括:波特率、数据位、停止位、流控协议。 linux中的串口设备文件放于/de/目录下,串口一,串口二分别为"/dev/ttyS0","/dev/转载 2014-11-03 15:35:12 · 545 阅读 · 0 评论 -
Makefile 学习记录
1、跟我一起写makefile2、makefile优化3、makefile例子4、C++封装成C Makefile5、makefile ifeq 表示“或”6、Makefile显示编译时间原创 2015-01-26 15:30:38 · 553 阅读 · 0 评论 -
exit与return区别
exit(0):正常运行程序并退出程序;exit(1):非正常运行导致退出程序;return():返回函数,若在主函数中,则会退出函数并返回一值。详细说: 1. return返回函数值,是关键字; exit 是一个函数。 2. return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。 3. retur转载 2015-02-04 10:34:33 · 465 阅读 · 0 评论 -
D3100开发环境搭建
一、安装nfs1、安装Ubuntu nfsUbuntu上默认是没有安装Ubuntunfs服务器的,因此我们首先安装Ubuntu nfs服务器端:$sudo apt-get install nfs-kernel-server在一些文档中,提出还需要使用apt-get来手动安装nfs的客户端nfs-common,以及端口映射器portmap,但其实这是没有必要的,因为在安装nfs-kern原创 2013-11-08 10:01:59 · 645 阅读 · 0 评论 -
最简单的串口读写程序
#include #include /*文件控制定义*/#include /*错误号定义*/#include #include //#define DEV_NAME "/dev/ttyS3"#define DEV_NAME "/dev/ttyAMA1"char *buf = "012345"; static pthread_t read_t;int原创 2013-11-08 09:11:38 · 2382 阅读 · 0 评论 -
linux下通过命令读写串口
写串口 etho XXX > /dev/*** //XXX:数据 /dev/***:串口名读串口cat /dev/***原创 2013-11-07 18:00:15 · 5874 阅读 · 0 评论 -
Linux 解压、压缩命令
1. tar zcvf bk.tar.gz *.c 将当前文件下的.c文件打包成 bk.tar.gz tar zxvf bk.tar.gz 解压 bk.tar.gz文件 PS:tgz 跟 tar.gz是一样的2. tar jcvf bk.tar.bz2 *.c 将当前文件下的.c文件打包成 bk.tar.bz2 tar jxvf bk.tar.b原创 2013-07-24 09:03:51 · 487 阅读 · 0 评论 -
linux获取及设置系统时间
今天查找了一下linux获取及设置系统时间的函数,并做了以下总结:#include #include #include #include int time_fun(){ time_t t_t; struct tm * time_info; char time_str [40]; time(&t_t ); time_info =原创 2013-08-07 17:39:53 · 760 阅读 · 0 评论 -
linux开发错误记录
下面这些问题都是记录在自己在编程过程中遇到的问题,大部分在网上都是可以查到的。2013-8-71、隐式声明与内建函数"xxxx“不兼容: 问题原因:没有包含头文件。 解决办法:添加头文件即可。2:程序中有游离的‘/241’ 问题原因:复制的代码 解决办法:重新输入。原创 2013-08-07 14:50:52 · 1231 阅读 · 0 评论 -
D3100开发问题记录
2013-8-1 回调函数 结构体 struct record_callback{ int (* start_record)(); int (* pause_record)(); int (* stop_record)();};struct record_callback record; //定义结构体变量void process_re原创 2013-08-05 14:46:47 · 433 阅读 · 0 评论 -
阅读编程规范收获
今天阅读了项目经理给的《嵌入式Linux编程规范》,有些问题是以前自己没有注意和没有接触过的,整理了以下3点: 1. 在多重循环中,应将最忙的循环放在最内层。说明:减少CPU 切入循环层的次数。示例:如下代码效率不高。for (col = 0; col < 200; col++){for (row = 0; row < 10; row++){a[row][col]原创 2013-08-08 10:06:47 · 655 阅读 · 0 评论 -
通过tftp32在3110E上调试程序
通过tftp32把可执行文件加载到3110E上步骤:a. 通过telnet登录到3110E,查看是否启动了tftp服务;b. 在windows上运行tftpd32,路径选择所要加载程序存放的目录;c. 3110E上执行命令: tftp -g -r command192.168.12.19ps: -l 表示本地文件名,即command,-r表示远程文原创 2013-08-12 10:05:01 · 572 阅读 · 0 评论 -
网络字节序 和 本地字节序
例子:在内存中双字0x01020304(DWORD)的存储方式 内存地址 4000 4001 4002 4003 Little endian 04 03 02 01 低位字节排放在内存的低地址端Big endian 01 02 03 04 高位字节排放在内存的低地址端(网络字节序采用此排列方式)不同的CPU有不同的字节序类转载 2013-08-24 13:53:37 · 707 阅读 · 0 评论 -
linux平台上搭建交叉编译环境
搭建步骤:a. 解压交叉编译工具arm.tar.bz2 到usr/local下;b. 修改PATH路径: 修改文件/etc/profile 在其中添加export PATH="/ usr/local/arm/3.3/bin:$PATH"c. 更新修改后PATH路径生效:# source /etc/profiled. 检查环境变量是否修改成功:# ech原创 2013-08-12 09:36:00 · 611 阅读 · 0 评论 -
读串口总结
项目需求从串口中读取数据,刚开始方案是一次从串口中read 512字节的数据然后解析,代码写完后发现有时候接收的数据不是完整的一包数据,导致数据无法解析,为解决这个问题,修改方案为循环读取,一直读到需要的数据为止,最后实现了功能,但算法太复杂,影响效率。 最后采用SLIP协议封装数据 SLIP(Serial Line Internet Protocol原创 2013-08-15 13:26:34 · 1432 阅读 · 0 评论 -
共享内存和信号量
共享内存可以被多个进程操作,这是我们的目的,也可以被多个进程同时操作,这是我们不希望看到的,为了避免这种情况,我们使用共享内存时需要配合信号量同时使用。 共享内存的使用,主要有以下几个API: shmget()、shmat()、shmdt()及shmctl()。 1. shmget()用来开辟/指向一块共享内存的函数,应用说明:shmget()用来获得共享内存区域原创 2013-08-29 17:47:18 · 777 阅读 · 0 评论 -
C++封装成C Makefile
CC=gccCXX=g++LIBPATH = /usr/lib/LIBXXNAME = libCxx.so LIBCCNAME = libCcc.so LIBXX = lCxxLIBCC = lCcc#中间层C文件INTER_FILE = interface.c INC = -I../commoncpp2-1.8.0/include/CFL原创 2013-09-06 18:50:19 · 898 阅读 · 0 评论 -
Ubuntu apt命令参数详解
Ubuntu apt命令参数详解 apt-cache search package 搜索包 apt-cache show package 获取包的相关信息,如说明、大小、版本等 sudo apt-get install package 安装包 sudo apt-get install package - - reinstall 重新转载 2013-09-06 17:41:17 · 624 阅读 · 0 评论 -
gnu库使用总结
需要移植一块源代码到项目中,该代码中用到了gun库,在使用该库的过程中遇到了问题,编译源代码的过程中出现了错误“cc++/thread:没有那个文件或目录”,这是由于未安装gnu库造成的,gnu安装及使用过程:一、安装gnu库1.sudo apt-cache search libccgnu2 //在软件库中查找gnu库2. sudo apt-get install libccgnu2原创 2013-09-06 18:40:32 · 1677 阅读 · 0 评论 -
跟我一起写makefile
概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写m转载 2013-09-04 14:40:03 · 717 阅读 · 0 评论 -
makefile例子
转自:http://blog.csdn.net/zhoujunyi/article/details/2063331目的: 基本掌握了 make 的用法,能在Linux系统上编程。环境: Linux系统,或者有一台Linux服务器,通过终端连接。一句话:有Linux编译环境。准备: 准备三个文件:file1.c, file2.c, file转载 2013-09-04 17:18:05 · 837 阅读 · 0 评论 -
makefile优化
根据《跟我写makefile》写出了下面的makefile文件: object = main.o file1.o file2.o file3.o CC = arm-linux-gccmain: $(object) $(CC)-o main $(object) -lpthread –Wallmain.o: main.c main.h file1.h file2原创 2013-09-04 17:13:44 · 925 阅读 · 0 评论 -
C语言调用C++的动态库
C语言中没有类的概念,如何调用呢,需要封装一下,增加一个中间层。这个中间层屏蔽了类,提供一个函数给上层,并且还要用c++编译器来编译。封装策略:1. C++代码如下:myclass.h#ifndef _MYCLASS_H#define _MYCLASS_Hclass MyClass{ public: void print();};#endifm原创 2013-09-02 17:17:38 · 948 阅读 · 0 评论 -
eclipse快捷键
http://www.open-open.com/bbs/view/1320934157953/原创 2015-08-07 10:35:19 · 300 阅读 · 0 评论