Linux应用开发
_参天小草_
这个作者很懒,什么都没留下…
展开
-
多进程与多线程的优缺点
比较多进程与多线程的优缺点转载 2015-08-11 13:59:43 · 5800 阅读 · 0 评论 -
应用程序的makefile编写例程
makefile编写实例原创 2015-08-13 23:11:04 · 595 阅读 · 0 评论 -
Berkeley DB数据库
简单介绍Berkeley DB数据库以及其常用操作转载 2015-08-13 23:44:12 · 816 阅读 · 0 评论 -
SQLite数据库编程
介绍了SQLite数据库的简单编程转载 2015-08-14 10:01:52 · 516 阅读 · 0 评论 -
sqlite基本sql语句使用
sqlite基本sql语句转载 2015-08-14 10:13:19 · 762 阅读 · 0 评论 -
MYSQL数据库编程
连接MYSQL数据库的c语言函数库包含在mysqlclient库中,头文件为mysql.h。连接MYSQL服务器时,应用程序应使用下列步骤进行操作。转载 2015-08-14 10:47:31 · 366 阅读 · 0 评论 -
文件编程之系统调用方式
摘要 首先了解文件描述符的概念:在Linux系统中,所有打开的文件对应一个数字,这个数字由系统分配,该数字称为文件描述符。系统调用文件编程时需要用到文件描述符。 与文件编程有关的操作主要有打开文件、创建文件、关闭文件、读文件、写文件、文件定位、复制文件描述符,这些操作的函数可通过系统调用方式使用。原创 2015-08-02 22:19:34 · 584 阅读 · 0 评论 -
与时间相关的函数编程
该文章记录了一些与时间相关的函数及其使用方法原创 2015-08-03 16:40:23 · 461 阅读 · 0 评论 -
Linux应用程序在内存地址布局
一个典型的Linux C程序内存空间由如下几部分组成:代码段(.text):这里存放代码、全局常量(const)、字符串常量。代码段是可共享的,相同的代码在内存中只会有一个拷贝,同时这个段是只读可执行的,防止程序由于错误而修改自身的指令。初始化数据段(.data):这里存放的是程序中已初始化的全局变量和初始化的静态变量(全局以及局部的)。未初始化数据段(.bss):存放的是未初始化原创 2015-08-01 20:30:27 · 1684 阅读 · 0 评论 -
Linux进程控制相关概念
Linux进程控制相关的一些概念转载 2015-08-03 17:23:49 · 495 阅读 · 0 评论 -
Linux多进程程序设计
用到的函数的功能主要有获取进程id、创建进程、进程退出、进程等待、执行程序。 获取进程id:getpid(),getppid() 创建进程:fork(),vfork() 进程退出:exit() 进程等待:wait() 执行程序:exec(),system()原创 2015-08-06 15:40:13 · 859 阅读 · 0 评论 -
Linux进程间通讯基础
Linux进程间通讯目的与方式原创 2015-08-06 15:58:47 · 410 阅读 · 0 评论 -
无名管道与有名管道通讯编程
管道通讯:一个进程在管道的尾部写入数据,另一个进程从管道的头部读出数据。管道包括无名管道和有名管道两种,前者只能用于父进程和子进程间的通信,后者可用于运行于同一系统中的任意两个进程间的通信。原创 2015-08-06 16:20:28 · 829 阅读 · 0 评论 -
文件编程之库函数方式
基于C函数库的文件编程是独立于具体的操作系统平台的,不管是在Windows、Linux还是其他的操作系统中,都是使用这些函数。使用库函数进行程序设计可提高程序的可移植性。原创 2015-08-03 15:27:50 · 614 阅读 · 0 评论 -
动态链接库设计
制作动态链接库的步骤为:①gcc -c mylib.c -o mylib.o②gcc -shared -fPIC mylib.o -o libmylib.so③将制作好的libmylib.so复制到/usr/lib说明:-shared :使输出的对象模型是按照可重定位地址方式生成的。-fPIC :指明产生动态链接库。程序编译时默认是采用动态链接库,因此只需指原创 2015-08-01 20:54:16 · 502 阅读 · 0 评论 -
使用GDB调试程序
GDB是GNU发布的一款功能强大的程序调试工具。GDB主要完成下面三个方面的功能:1.启动被调试程序;2.让被调试的程序在指定的位置停住;3.当程序被停住时,可以检查程序状态(如变量值)。假如要对程序test.c进行调试,调试流程为:1.编译生成可执行文件:gcc -g test. c -o test2.启动GDBgdb test原创 2015-08-01 18:34:51 · 353 阅读 · 0 评论 -
Linux守护进程设计
Linux或Unix系统在系统引导的时候会开启许多服务,这些服务称为守护进程,也就是通常所说的Daemon(精灵)进程。原创 2015-08-12 22:23:41 · 528 阅读 · 0 评论 -
信号量同步编程
进程同步:一组并发进程进行互相合作、互相等待,使得各进程按一定的顺序执行的过程称为进程间的同步。原创 2015-08-10 16:09:16 · 901 阅读 · 0 评论 -
Linux信号通讯编程
信号通讯流程为: ①进程A/内核选择信号 ②发送信号 ③进程B接收信号并处理 Linux系统支持的所有信号均定义在/usr/include/asm/signal.h头文件原创 2015-08-10 15:55:10 · 741 阅读 · 0 评论 -
信号量互斥编程
信号量通讯的目的有两个:①实现进程互斥②实现进程同步原创 2015-08-10 16:04:59 · 601 阅读 · 0 评论 -
共享内存通讯编程
共享内存是IPC机制中的一种。它允许两个不相关的进程访问同一段内存,这是传递数据的一种非常有效的方式。原创 2015-08-10 17:36:15 · 743 阅读 · 0 评论 -
Linux网络编程模型
Linux网络编程是基于socket(套接字)的。Socket的实质就是一个接口,利用该接口,用户在使用不同的网络协议时,操作函数得以统一。而针对不同协议的差异性操作,则交给了socket去自行解决。原创 2015-08-11 14:42:42 · 275 阅读 · 0 评论 -
Linux消息队列通讯编程
消息队列就是一个消息的链表。而一条消息则可看作一个记录,具有特定的格式。原创 2015-08-11 13:52:49 · 683 阅读 · 0 评论 -
网络协议基础
网络协议基础原创 2015-08-11 14:35:34 · 496 阅读 · 0 评论 -
静态链接库设计
Linux应用设计中使用的外部函数主要来源于函数库调用和系统调用。系统调用由Linux内核实现,即函数的实现代码包含在内核里,如open函数;函数库位于内核之外,是语言或应用程序的一部分,如c库,程序员自己开发的函数库。函数库按照链接方式可以分为静态链接库和动态链接库。Linux应用程序使用的主要函数库均存放于/lib, /usr/lib目录下,其中采用*.so.*方式命名的是动态原创 2015-08-01 20:46:22 · 536 阅读 · 0 评论 -
并发服务器设计
并发服务器就是能够同时处理多个客户端请求的服务器。并发服务器可通过多进程或者多线程程序来实现。原创 2015-08-12 22:16:12 · 703 阅读 · 0 评论 -
UDP通讯程序设计
udp通讯程序设计原创 2015-08-12 22:08:50 · 1086 阅读 · 1 评论 -
使用core dump查看程序运行异常
Core Dump又叫核心转存。当程序在运行过程中发生异常,这时Linux系统可以把程序出错时的内存内容存储在一个core文件中,这种过程叫 Core Dump。Linux应用程序在运行过程中,经常会遇到Segment fault(段错误) 这样的错误。产生这样错误的原因通常有:1.数组访问越界2.访问空指针3.栈溢出4.修改只读内存而core原创 2015-08-01 18:48:13 · 729 阅读 · 0 评论 -
Linux应用编程之静态库和动态库
转自:http://blog.chinaunix.net/uid-26404201-id-3020351.html一、静态库与动态库通常情况下,对函数库的链接是放在编译时期(compile time)完成的。所有相关的对象文件(object file)与牵涉到的函数库(library)被链接合成一个可执行文件(executable file)。程序在运行时,与函转载 2015-08-01 20:42:46 · 466 阅读 · 0 评论 -
TCP通讯程序设计
tcp通讯程序原创 2015-08-12 22:01:13 · 975 阅读 · 0 评论 -
Linux多线程程序设计
线程:线程可以理解为“轻量级”的进程,它与创建它的进程共享代码段和数据段,同时拥有自己独立的栈。原创 2015-08-11 14:09:07 · 862 阅读 · 0 评论