- 博客(287)
- 资源 (35)
- 问答 (1)
- 收藏
- 关注
转载 基于LINUX系统的SOCKET通信,使用UDP协议.
#include #include #include #include #include #include #include #define MAXSIZE 80#define MYPORT 6768#define MYIP "127.0.0.1"//#define BACKLOG 10#define BUFSIZE 100int main(int argc, cha
2012-05-31 16:34:05 762
转载 5、用户数据报发送 基于UDP 协议的网络程序
5、用户数据报发送我们前面已经学习网络程序的一个很大的部分,由这个部分的知识,我们实际上可以写出大部分的基于TCP 协议的网络程序了.现在在Linux 下的大部分程序都是用我们上面所学的知识来写的.我们可以去找一些源程序来参考一下.这一章,我们简单的学习一下基于UDP 协议的网络程序.5.1、两个常用的函数int recvfrom(int sockfd,void *buf,
2012-05-31 15:37:44 659
转载 3、服务器和客户机的信息函数
3、服务器和客户机的信息函数这一章我们来学习转换和网络方面的信息函数.3.1、字节转换函数在网络上面有着许多类型的机器,这些机器在表示数据的字节顺序是不同的, 比如i386芯片是低字节在内存地址的低端,高字节在高端,而alpha 芯片却相反. 为了统一起来,在Linux 下面,有专门的字节转换函数.unsigned long int htonl(unsigned long
2012-05-31 11:11:33 543
转载 3、服务器和客户机的信息函数
3、服务器和客户机的信息函数这一章我们来学习转换和网络方面的信息函数.3.1、字节转换函数在网络上面有着许多类型的机器,这些机器在表示数据的字节顺序是不同的, 比如i386芯片是低字节在内存地址的低端,高字节在高端,而alpha 芯片却相反. 为了统一起来,在Linux 下面,有专门的字节转换函数.unsigned long int htonl(unsigned long
2012-05-31 11:09:47 523
转载 2.7、总结 客户端和服务器端.它们的建立步骤一般:
2.7、总结47总的来说网络程序是由两个部分组成的--客户端和服务器端.它们的建立步骤一般是:服务器端socket-->bind-->listen-->accept客户端socket-->connect
2012-05-31 10:59:54 636
转载 2、初等网络函数介绍(TCP)
2、初等网络函数介绍(TCP)Linux 系统是通过提供套接字(socket)来进行网络编程的.网络程序通过socket 和其它几个函数的调用,会返回一个 通讯的文件描述符,我们可以将这个描述符看成普通的文件的描述符来操作,这就是linux 的设备无关性的 好处.我们可以通过向描述符读写操作实现网络之间的数据交流.2.1、socketint socket(int domai
2012-05-31 10:50:38 660
转载 基于TCP的应用层协议、与基于UDP的应用层协议分别有哪些?
基于TCP的应用层协议、与基于UDP的应用层协议分别有哪些? 2011-11-4 14:55提问者: li491623644 | 浏览次数:2054次| 该问题已经合并到>>我来帮他解答检举 | 2011-11-4 15:41满意回答这个有很多,你可以参考一下:斜线前面的数字代表端口号,斜线后面表示tcp和udp,
2012-05-31 10:22:42 5798
转载 七、线程操作
#include #include #include #include #include #include #include #include #include #include #include #define BUFFER 512struct copy_file{int infile;int outfile;};void *copy(void *arg){
2012-05-31 09:06:44 573
转载 怎样彻底解决"undefined reference to `pthread_create'"问题
在编写pthread有关的程序时,编译时老是报"undefined reference to `pthread_create'"的错误,原因是没有链接pthread相关的库,gcc加上-lrt就可以了.我想怎样默认去链接这个库了?不要再加个"-lrt"了 也就是"/usr/lib/"下的libpthread.a,应该在哪个配置文件中进行配置了?[ 本帖最后由 osmanth
2012-05-31 08:51:39 1104
转载 undefined reference to 'pthread_create'问题解决
undefined reference to 'pthread_create'问题解决分类: Linux Ubuntu程序开发2008-08-31 09:51 22118人阅读 评论(27) 收藏 举报由于是Linux新手,所以现在才开始接触线程编程,照着GUN/Linux编程指南中的一个例子输入编译,结果出现如下错误:undefined reference to 'p
2012-05-31 08:49:06 573
转载 SystemV 共享内存
#include #include #include #include #include #include #include #include #define PERM S_IRUSR|S_IWUSR/*SystemV 共享内存还有一个进程通信的方法是使用共享内存.SystemV 提供了以下几个函数以实现共享内存.#include #include #include
2012-05-31 08:13:59 596
转载 文件系统
文件系统所谓文件系统是指负责存取和管理文件信息的机构,也可以说是负责文件的建立、撤销、组织、读写、修改、复制及对文件管理所需要的资源(如目录表、存储介质等)实施管理的软件部分。uc/os是面向中小型嵌入式系统的,如果包含全部功能(信号量、消息邮箱、消息队列及相关函数),编译后的uc/os内核仅有6~10kb,所以系统本身并没有对文件系统的支持。但是uc/os具有良好
2012-05-30 22:20:26 585
转载 进程调度
进程调度任务调度主要是协调任务对计算机系统内资源(如内存、i/o设备、cpu)的争夺使用。进程调度又称为cpu调度,其根本任务是按照某种原则为处于就绪状态的进程分配cpu。由于嵌入式系统中内存和i/o设备一般都和cpu同时归属于某进程,所以任务调度和进程调度概念相近,很多场合不加区分,下文中提到的任务其实就是进程的概念。进程调度可分为"剥夺型调度"和"非剥夺型调度"
2012-05-30 22:19:15 1089
转载 UCOS-II学习1_ex1
女人都瞧不起男人,认为男人是笨蛋,但却又偏偏希望自己是个男人,这就是女人最大的毛病。UCOS-II学习1_ex1 作者 wxjia2004 日期 2006-9-26 10:26:000推荐在dos(虚拟机)下编译UCOS-II自带的例子1,环境如下: Virtual PC v5.2 Borla
2012-05-30 21:28:04 1066
转载 4、SystemV 共享内存
#include #include #include #include #include #include #include #include #define PERM S_IRUSR|S_IWUSRint main(int argc,char **argv){int shmid;char *p_addr,*c_addr;if(argc!=2){ fprintf(
2012-05-30 21:05:43 572
转载 3、SystemV 消息队列
3、SystemV 消息队列为了便于进程之间通信,我们可以使用管道通信 SystemV 也提供了一些函数来实现进程的通信.这就是消息队列.#include #include #include int msgget(key_t key,int msgflg);34int msgsnd(int msgid,struct msgbuf *msgp,int msgsz,in
2012-05-30 20:45:16 487
转载 2、System V 信号量
#include #include #include #include #include #include #include #include #include #include #define PERMS S_IRUSR|S_IWUSRvoid init_semaphore_struct(struct sembuf *sem,int semnum,int semop,
2012-05-30 20:24:41 513
转载 linux 内核-信号-队列
linux 内核-信号-队列分类: linux2011-01-27 20:05 337人阅读 评论(0) 收藏 举报static ssize_t mxc_v4l_read(struct file *file, char *buf, size_t count, loff_t *ppos){ int err = 0; u
2012-05-30 10:24:33 626
转载 linux消息队列
linux消息队列 标签: 消息队列 转自http://fanqiang.chinaunix.net/a4/b2/20010508/113803.htmlLinux下C语言编程--进程通信、消息管理http://linuxc.51.net 作者:hoyt (2001-05-08 11:38:03)前言:Linux下的进程通信(IPC) Linux下的进程通信(IP
2012-05-30 10:22:47 724
原创 send_signal (int pid)
#include #include #include #include #include #include #include #include #include /* Linux 的默任个人的邮箱地址是 /var/spool/mail/ *///#define MAIL_DIR "/var/spool/mail/"/* 睡眠10 秒钟 */#define SLEEP_TIM
2012-05-30 10:15:16 1173
转载 用SIGHUP挂起某个进程之后如何恢复?
用SIGHUP挂起某个进程之后如何恢复?先man 7 signal看看吧sigstop和sig contunue是对应的但是sighup的话可能没有(ps 偶没有看man 看man可以找到答案) wangcui帖子44主题11精华0可用积分15 注册时间2003-04-22最后登录2003-09-11
2012-05-30 10:01:20 919
转载 SIGHUP信号的默认处理是终止收到该信号的进程
在linux c编程里看到一句代码:kill(func(), SIGHUP);func()是子函数,请问这句是什么意思?func()函数返回一个进程ID,SIGHUP是signal信号中的一种处理方式,系统对SIGHUP信号的默认处理是终止收到该信号的进程。所以若程序中没有捕捉该信号,当收到该信号时,进程就会退出。
2012-05-30 09:56:48 1025
转载 可重入函数
可重入函数 (2010-04-07 15:33:02)转载▼标签: 杂谈分类: 技术可重入函数在多线程条件下,函数应当是线程安全的,进一步,更强的条件是可重入的。一个可重入函数保证了在多线程条件下,函数的状态不会出现错误。eg. in cstatic int tmp;void
2012-05-30 09:54:03 910
转载 UNIX/Linux:向进程发信号的3种方式
UNIX/Linux:向进程发信号的3种方式问:怎么向另一个进程发信号?你能跟我解释下在UNIX/Linux环境向一个进程发信号的所有可用的选项吗?答:你可以用本文所说的任一种方法向进程发各种信号。1.用Kill向进程发信号使用kill命令向进程发信号。例如,你想向进程“a.out”发送USR1信号,如下所示。 $ ps -C a.out
2012-05-30 09:22:24 1131
转载 3、其它信号函数4、一个实例
3、其它信号函数由于信号的操作和处理比较复杂,我们再介绍几个信号操作函数.#include #include int pause(void);int sigsuspend(const sigset_t *sigmask);pause 函数很简单,就是挂起进程直到一个信号发生了.而sigsuspend 也是挂起进程只是在调用的时候用sigmask 取代当前的信号阻塞集合.
2012-05-29 22:41:48 490
转载 OnDraw()和OnPaint()好象兄弟俩
OnDraw()和OnPaint()好象兄弟俩,因为它们的工作类似。 至于不见了的问题简单,因为当你的窗口改变后,会产生无效区域,这个无效的区域需要重画。一般Windows回发送两个消息WM_PAINT(通 知客户区有变化)和WM_NCPAINT(通知非客户区有变化)。非客户区的重画系统自己搞定了,而客户区的重画需要我们自己来完成。这就需要 OnDraw()或OnPaint()来重画窗口。
2012-05-29 19:54:33 453
转载 多视的情况下如何在视之间传递数据?MFC的做法是利用文档来处理
一般来说用户的输入/输出基本都是通过视进行,但一些例外的情况下可能需要和框架直接发生作用,而在多视的情况下如何在视之间传递数据。 在使用菜单时大家会发现当一个菜单没有进行映射处理时为禁止状态,在多视的情况下菜单的状态和处理映射是和当前活动视相联系的,这样MFC可以保 证视能正 确的接收到各种消息,但有时候也会产生不便。有一个解决办法就是在框架中对消息进行处理,这样也可以保证当前文档可以通过
2012-05-29 19:52:50 552
转载 CPaintDC和CClientDC又有什么区别?
1) 在mfc结构里OnPaint是CWnd的成员函数. OnDraw是CView的成员函数.2) OnPaint()调用OnDraw(),OnPrint也会调用OnDraw(),所以OnDraw()是显示和打印的共同操作。 OnPaint是WM_PAINT消息引发的重绘消息处理函数,在OnPaint中会调用OnDraw来进行绘图。 OnPaint中首先构造一个CPaintDC类得实例,然
2012-05-29 19:46:40 990
转载 setTimeout("flash_title()",3500);
step=0function flash_title(){step++if (step==3) {step=1}if (step==1) {document.title='::..华中科技大学图书馆欢迎您..::'}if (step==2) {document.title='::..我们愿为您提供多方位的优质服务..::'}setTimeout("flash_title()",350
2012-05-29 09:56:02 715
转载 2、信号操作
2、信号操作有时候我们希望进程正确的执行,而不想进程受到信号的影响,比如我们希望上面那个程序在1 秒钟之后不结束.这个时候我们就要进行信号的操作了.信号操作最常用的方法是信号屏蔽.信号屏蔽要用到下面的几个函数.#include 25int sigemptyset(sigset_t *set);int sigfillset(sigset_t *set);int sig
2012-05-29 09:55:06 485
转载 五、信号处理 alarm
五、信号处理1、信号的产生Linux 下的信号可以类比于DOS 下的INT 或者是Windows 下的事件.在有一个信号发生时候相信的信号就会发送给相应的进程.在Linux 下的信号有以下几个. 我们使用 kill -l24命令可以得到以下的输出结果:1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL5) SIGTRAP 6) SIGABR
2012-05-28 16:16:15 555
转载 3、计时器的使用
3、计时器的使用Linux 操作系统为每一个进程提供了3 个内部间隔计时器.ITIMER_REAL:减少实际时间.到时的时候发出SIGALRM 信号.ITIMER_VIRTUAL:减少有效时间(进程执行的时间).产生SIGVTALRM 信号.ITIMER_PROF:减少进程的有效时间和系统时间(为进程调度用的时间).这个经常和上面一个使用用来计算系统内核时间和用户时间.产生SI
2012-05-28 16:04:42 551
转载 2、时间的测量
四、时间的概念1、时间表示在程序当中,我们经常要输出系统当前的时间,比如我们使用date 命令的输出结果.这个时候我们可以使用下面两个函数#include time_t time(time_t *tloc);char *ctime(const time_t *clock);time 函数返回从1970 年1 月1 日0 点以来的秒数.存储在time_t 结构之中.不过这
2012-05-28 15:57:20 518
转载 4、管道文件
4、管道文件Linux 提供了许多的过滤和重定向程序,比如more cat等等.还提供了 | 道这种特殊的文件.系统调用pipe 可以创建一个管道.#include19int pipe(int fildes[2]);pipe 调用可以创建一个管道(通信缓冲区).当调用成功时,我们可以访问文件描述符fildes[0],fildes[1].其中fildes[0]是用来读
2012-05-28 15:50:37 509
转载 2、文件的各个属性 3、目录文件的操作
2、文件的各个属性文件具有各种各样的属性,除了我们上面所知道的文件权限以外,文件还有创建时间,大小等等属性.有时侯我们要判断文件是否可以进行某种操作(读,写等等).这个时候我们可以使用access 函数.#include int access(const char *pathname,int mode);pathname:是文件名称,mode 是我们要判断的属性.可以取以下
2012-05-28 13:47:41 519
转载 [Emacs]linux下编译安装emacs23 cvs
[Emacs]linux下编译安装emacs23 cvs系统: ubuntu 7.10我现在2台机上在用这个版本,一台机是gnome, 另一台机是KDE,KDE上的emacs-gtk可以直接用scim输入了,但gnome据说是某session-daemon程序的问题导致不能激活外部输入法,我现在的解决方法是开一个terminal, 在terminal下用emacs -nw启动,这样就能
2012-05-28 11:22:03 776
转载 linux emacs 安装
linux emacs 安装2008-07-31 22:11Emacs是具有很强的扩展性的一个文本编辑器. 但由于它强大的扩展性, 它的功能早已超越了一个文本编辑器. Emacs在程序员中十分流行, 很多人登录系统之后就把会Emacs打开, 使用它编写代码, 收发邮件, 登录新闻组, 访问Internet, 在IRC中与其他人讨论问题, 而直到注销登出的时候才会将E
2012-05-28 11:14:17 706
转载 linux安装emacs23
linux安装emacs231.使用cvs下载最新版本cvs -z3 -d:pserver:anonymous@cvs.sv.gnu.org:/sources/emacs co emacs因为emacs-unicode-2分支已经并入tunk,所以直接下载head version即可,无需加 -r emacs-unicode-2直接去下ta
2012-05-28 11:12:40 508
转载 三、文件操作 1、文件的创建和读写
三、文件操作1、文件的创建和读写我假设你已经知道了标准级的文件操作的各个函数(fopen,fread,fwrite 等等).当然如果你不清楚的话也不要着急.我们讨论的系统级的文件操作实际上是为标准级文件操作服务的.当我们需要打开一个文件进行读写操作的时候,我们可以使用系统调用函数open.使用完成以后我们调用另外一个close 函数进行关闭操作.#include #in
2012-05-28 11:03:37 795
转载 3、守护进程的创建
3、守护进程的创建如果你在DOS 时代编写过程序,那么你也许知道在DOS 下为了编写一个常驻内存的程序我们要编写多少代码了.相反如果在Linux 下编写一个"常驻内存"的程序却是很容易的.我们只要几行代码就可以做到. 实际上由于Linux 是多任务操作系统,我们就是不编写代码也可以把一个程序放到后台去执行的.我们只要在命令后面加上&符号SHELL 就会把我们的程序放到后台去运行
2012-05-28 10:50:00 948
DownForPhpExt.rar
2016-02-17
网站被迫下线提醒功能
2016-05-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人