04 2013 档案
7 线程
摘要:编译: gcc 3_5\ thread_create.c -lpthread -o 3_5\ thread_create线程退出:1 被进程终止2 调用void pthread_exit(void *rval_ptr)3 线程运行结束后return例:3_5 thread_create.c 3_5 thread_int.c 3_5 thread_exit.c 3_5 thread_clean.c
阅读全文
6 信号通信
摘要:信号通信#include#include#includeint kill(pid_t pid,int signo)/*可以向自身和其他进程发送信号*/int raise(int signo)/*只能向自身发送信号*/kill -s SIGQUIT PID/*经过seconds秒产生SIGALRM信号;如果不捕捉该信号,则默认终止该进程*/unsigned int alarm(unsigned int seconds)int pause()/*进程挂起,直到捕捉到一信号,挂起结束*/例:3_4 signal.c
阅读全文
5 管道通信
摘要:1 管道是单向的,管尾写数据,管头读数据2 无名管道:子进程和父进程之间通信3 有名管道:任意两个进程之间通信例:3_4 pipe_rw.c 3_4 fifo_read.c 3_4 fifo_write.c
阅读全文
4 进程控制
摘要:/***创建进程***//**调用一次fork,返回两次1 在父进程中返回新创建的子进程的PID2 在子进程中返回03 出现错误返回一个负值**/注:子进程和父进程共享fork()之后的代码段例:3_1 fork1.c /***fork()和vfork()的区别1 vfork:子进程和父进程共享数据段,子进程先运行,父进程后运行2 fork: 子进程拷贝父进程数据段,运行顺序不确定***/例:3_1 fork2.c 3_1 vfork.c
阅读全文
3 编程基础 Makefile
摘要:Makefile:规定源文件之间的依赖关系及编译规则make -f Makefile例如:# This is a Makefilehello:hello.o gcc hello.o -o hellohello.o:hello.c gcc -c hello.c.PHONY:cleanclean: rm -f hello hello.o注意:1 Makefile文件中只有一个最终目标,第1条规则中的目标将被确定为最终目标2 命令以tab键开始,命令前加@取消回显3 没有任何依赖只有执行动作的目标称为伪目标,用.PHONY声明,用make clean执行Makefile中的常用变量$@代表目标文件$
阅读全文
2 编程基础 gdb
摘要:gdbgcc -g hello.c -o hello启动gdb1 gdb hello2 gdb file hellorunnext/***单步运行(不进入子函数)***/step/***单步运行(进入子函数)***/continue/***继续运行程序***/quitlist/***查看程序***/info breakdelete breakpoint's numberprint var/***查看变量var***/watch var/***监控变量var***/finish/***运行程序,直到当前函数结束***/设置断点1 #include"stdio.h"2
阅读全文
1 编程基础 gcc
摘要:gcc默认头文件目录在/usr/include或当前目录,默认库文件目录在/usr/lib添加头文件目录:-I/home/chenyong/shell添加库文件目录:-L/home/chenyong/shell例如:gcc -I/home/chenyong/shell hello.c -o hello库动态库以.so为后缀,在程序执行时再加载所需函数静态库以.a为后缀,链接器提前找到程序所需要的库函数和源文件的目标文件形成可执行文件gcc 默认链接动态库链接静态库:gcc -static hello.c -o hello-Wall: 编译时生成所有警告信息-w: 编译时不生成任何警告信息-DH
阅读全文
13 shell script+
摘要:比较操作-eq或= -ne或!= -gt或>-lt或<-ge 大于或等于-le 小于或等于-z 为空-n 不为空1 s5#!/bin/sha=10b=5if [ $a -eq $b ]then echo "a=b"else if [ $a -le $b ] then echo "a<b" else echo "haha" fifi 注意:在"["和"]"两边都要有空格"="做赋值时,"="左右两边不留空格"="做判断时
阅读全文
12 shell script
摘要:shell script1 s1#!/bin/sh#set variable aa="hello world!"#printecho "A is"echo $a2 s2#!/bin/shnum=2echo "this is the $numnd"echo "this is the ${num}nd"3 s3#!/bin/basha="my love"echo $afunction func1(){ local a="Tang Wei" echo $a}func1echo $a
阅读全文
2 烧写Linux3.0.1到OK6410
摘要:Linux3.0.1一键烧写1 格式化SD卡和开发板的NandFlash(加载WINCE6.0的Eboot,按A键 Erase All Blocks或加载Linux的mmc.bin(兼有uboot的功能),按1 Format the nandflash)2 制作sdboot/***mmc.bin(重命名)***/3 拷贝u-boot.bin(重命名)、zImage、rootfs.yaffs2到SD4 设置开发板从sd卡启动,等待烧写完成通过USB烧写1 格式化SD卡和开发板的NandFlash,设置dnw的USBPort DownloadAddress值为0x57e000002 mmc.bin
阅读全文
1 烧写WINCE6.0到OK6410
摘要:准备工具:SD_Writer.exe/***飞凌提供,制作SD引导的工具***/dnw.exe/***PC通过串口(USB转串,驱动HL-232-340.EXE)与开发板通信***/dnw软件设置:1 波特率:1152002 选择com port3 下载地址:0x50030000WINCE6.0一键烧写1 格式化SD卡,用SD_Writer.exe制作sd引导到SD/***IROM_SD_EBOOT_SDFUSER.nb0***/2 拷贝STEPLDR.nb0、STEPLDR.bin、EBOOT.nb0、EBOOT.bin、NK.bin到SD3 设置开发板从sd卡启动 on:4 5 6 7 8
阅读全文
浙公网安备 33010602011771号