
linux编程
文章平均质量分 70
hanglinux
激情 梦想 认真 执着
展开
-
linux进程间通信概述
为什么要进程间通信:1、数据传输2、资源共享3、通知事件4、进程控制IPC的多种方式:半双工:半双工管道:匿名半双工管道FIFO;全双工System V IPC/POSIX IPC:消息队列,信号量,共享内存网络进程间通信:SOCKET STREAMS原创 2013-11-16 09:33:36 · 1017 阅读 · 0 评论 -
解析命令行选项参数函数getopt()
一 命令行在编写新程序时,首先遇到的障碍之一就是如何处理控制其行为的命令行参数。这包括从命令行传递给您程序的 main() 函数的一个整数计数(通常名为 argc)和一个指向字符串的指针数组(通常名为 argv).可以采用两种实质一样的方式声明标注 main() 函数,如清单 1 中所示。清单 1. 声明 main() 函数的两种方式int main( int argc转载 2015-06-10 12:44:40 · 781 阅读 · 0 评论 -
python2.7 串口操作方式 编译 .py为windows可执行exe文件
一 python操作串口 首先下载安装串口模块pyserial 。 代码实现: import serialser = serial.Serial('/dev/ttyUSB2', 115200)print ser.portstrwhile True: str = ser.read(10) print str strInput = raw_input(原创 2015-06-29 18:05:43 · 2867 阅读 · 0 评论 -
USB的VID和PID,以及分类(Class,SubClass,Protocol)
USB(Universal Serial BUS,通用串行总线)协议规定,所有的USB设备都有VID(Vendor ID,供应商识别码)和PID(Product ID,产品识别码)。VID由供应商向USB-IF(Implementers Forum,应用者论坛)申请。每个供应商的VID是唯一的,PID由供应商自行决定。主机通过VID和PID来识别不同设备,根据它们(以及设备的版本号),可以给设备加转载 2015-05-06 17:07:59 · 3525 阅读 · 0 评论 -
linux 内核中strstr函数 功能
在内核代码中看到strstr函数:mode = strstr(boot_command_line, "D:");应该是一个字符串处理函数,使用man命令查看下给出如下解释:SYNOPSIS #include char *strstr(const char *haystack, const char *needle); #define原创 2015-05-05 16:01:36 · 8271 阅读 · 0 评论 -
LINUX ulimit命令 详解
概述系统性能一直是一个受关注的话题,如何通过最简单的设置来实现最有效的性能调优,如何在有限资源的条件下保证程序的运作,ulimit 是我们在处理这些问题时,经常使用的一种简单手段。ulimit 是一种 linux 系统的内键功能,它具有一套参数集,用于为由它生成的 shell 进程及其子进程的资源使用设置限制。本文将在后面的章节中详细说明 ulimit 的功能,使用以及它的影响,并以具体的转载 2015-05-06 17:24:44 · 937 阅读 · 0 评论 -
vim打造IDE
1.首先安装插件管理器 PathogenInstall to ~/.vim/autoload/pathogen.vimmkdir -p ~/.vim/autoload ~/.vim/bundle && \curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim在Centos家目录中新建.vimrc文件,添加原创 2014-07-06 11:30:19 · 1399 阅读 · 0 评论 -
Linux下基于select的socket通信 队列回收功能
select函数介绍:int select(int maxfdp,fd_set *readfds,fd_set *writefds,fd_set *errorfds,struct timeval *timeout); /*参数列表int maxfdp是一个整数值,是指集合中所有文件描述符的范围,即所有文件描述符的最大值加1,不能错!在Windows中这个参数的值无所谓,可以设原创 2015-04-16 18:29:36 · 1224 阅读 · 0 评论 -
Centos 64下实现socket通信
源码: /* File Name: server.c */ #include #include #include #include #include #include #include //Ineternet address family #include #define DEFAULT_原创 2015-04-09 16:31:14 · 4055 阅读 · 0 评论 -
Linux 下用 C 开发 MySql 数据库应用
一、开发环境的准备 1、首先要安装好Linux, 2、安装MySQL系列软件包,这边是MySQL5.0版本: mysql-server mysql-client libmysqlclient15-dev 二、检查MySQL服务的状态 1、查看当前的mysql服务状态 sudo /etc/init.d/mysql sta转载 2015-03-06 11:52:45 · 787 阅读 · 0 评论 -
Generating SSH keys for github
SSH keys are a way to identify trusted computers, without involving passwords. The steps below will walk you through generating an SSH key and adding the public key to your GitHub account.We recom转载 2015-03-05 10:13:38 · 803 阅读 · 0 评论 -
Makefile 中:= ?= += =的区别 和条件执行
一:在Makefile中经常看到obj-m := scull.o和KERNELDIR ?= /lib/modules/等不同的赋值方式,现在总结他们的区别:= 是最基本的赋值:= 是覆盖之前的值?= 是如果没有被赋值过就赋予等号后面的值+= 是添加等号后面的值例:1、“=” make会将整个makefile展开后,再决定变量的值。也就是说,变量的值将会是原创 2014-10-16 16:12:40 · 3224 阅读 · 0 评论 -
linux操作串口需要用到的头文件
#include //标准输入输出定义#include //标准库函数定义#include //UNIX标准函数定义#include //基本系统数据类型#include //获取一些文件相关的信息#include //文件控制定义#include //PPSIX终端控制定义#include //错误号定义其中:sys/t原创 2013-11-18 21:47:56 · 3081 阅读 · 0 评论 -
测试本机的数据存储形式——大端还是小端
看看你的机器是大端存储还是小端存储 #include int main(void){ int a=0x12345678; char *p; p=(char *)(&a); if(*p==0x78) printf("The little endian\n"); //输出小原创 2013-11-16 12:41:38 · 1631 阅读 · 0 评论 -
linux 生成的core文件名被截断问题分析
生成core文件的指定生成目录和文件名:修改/etc/sysctl.conf添加一行:kernel.core_pattern = /tmp/core-%e-%u-%s-%t-%h-%p/sbin/sysctl –p 立即生效则生成的core文件在/tmp目录,参数解释:%e - insert coredumping executable name into filena原创 2018-01-11 18:06:21 · 2672 阅读 · 0 评论