
linux下的c编程
文章平均质量分 66
北唐盛世
嵌入式爱好者,c、c++语言学习者!!!
展开
-
链栈-进制转换
#include#include#include/* * 头节点为空 * */typedef int datatype;typedef struct _node_{ datatype data; struct _node_ *next;}linknod,*linkstack;linkstack creat_empty_linkstack(原创 2012-10-25 09:38:45 · 750 阅读 · 0 评论 -
数据结构-队列操作
#include#include#define N 10typedef int datatype;typedef struct { datatype data[N]; int front,rear;}sequeue;sequeue *create_empty_sequeue(){ sequeue *s = NULL;原创 2012-10-25 09:35:11 · 427 阅读 · 0 评论 -
数据结构栈操作
#include#define N 10typedef int datatype;typedef struct{ datatype data[N]; int top;}sqstack;sqstack *creat_empty_sqstack(){ sqstack *s; s=(sqstack *)malloc(sizeof(sqs原创 2012-10-25 09:34:15 · 519 阅读 · 0 评论 -
数据结构-链栈
#include#include#include/* * 头节点为空 * */typedef int datatype;typedef struct _node_{ datatype data; struct _node_ *next;}linknod,*linkstack;linkstack creat_empty_linkstack(原创 2012-10-25 09:33:26 · 680 阅读 · 0 评论 -
球钟问题到解决代码
#include #include #define N 28 #define M 16 #define M_1 4 //分钟 #define M_5 11 //5分钟 #define M_60 11 //一小时 typedef int datatype; typedef struct //队列 { datatype原创 2012-10-25 09:32:25 · 764 阅读 · 0 评论 -
ubuntu上面安装eclipse android到adt下载方法
如果自动安装有问题的话,就需要手动安装,其实是差不多的,唯一不同的就是手动下载ADT插件包,http://dl.google.com/android/ADT-0.9.6.zip ,可以下载到。版本号自己可以改改,我试过啦,改成20.0.0.zip可以用到,哈哈。。。 在Eclipse中选择Help > Install New Software. 单击Add按钮,弹出提示框 名字可以随便取,原创 2012-10-16 00:36:11 · 4503 阅读 · 0 评论 -
Ubuntu下面安装ssh服务和配置
Ubuntu 下安装 OpenSSH Server 是无比轻松的一件事情,需要的命令只有一条: sudo apt-get install openssh-server (查看返回的结果,如果没有出错,则用putty、SecureCRT、SSH Secure Shell Client等SSH 客户端软件,输入您服务器的 IP 地址。如果一切正常的话,等一会儿就可以连接上了。并且使用现有转载 2012-10-12 10:19:31 · 631 阅读 · 0 评论 -
linux下qt的安装和一个最简单的小程序hello world
唉。。十一买车票真的有点郁闷啊!网上买票还得排队,去哪说理去!我是边买车票,变自学QT,第一次用QT环境,有点不太熟悉,配置配置linux下的QT开发环境,自己研究了一天,终于让我弄好啦,老天不负有心人啊,为了自己的成就而淫笑,哈哈。。。1.首先是下载一个QT的安装源码包2.根据这个博客安装配置环境,http://blog.youkuaiyun.com/aile770339804/articl原创 2012-09-20 17:34:42 · 4561 阅读 · 0 评论 -
studentManager学生管理系统
#include#include#includetypedef struct student{ int id; char name[10]; float chinese; float math; float english; float sum; struct student *next,*previous;};typedef stru原创 2012-09-13 23:55:35 · 3180 阅读 · 0 评论 -
源码、反码、补码
数值在计算机中表示形式为机器数,计算机只能识别0和1,使用的是二进制,而在日常生活中人们使用的是十进制,"正如亚里士多德早就指出的那样,今天十进制的广泛采用,只不过我们绝大多数人生来具有10个手指头这个解剖学事实的结果.尽管在历史上手指计数(5,10进制)的实践要比二或三进制计数出现的晚."(摘自>有空大家可以看看哦~,很有意思的).为了能方便的与二进制转换,就使用了十六进制(2 4)和八进制(2原创 2012-09-13 23:51:59 · 534 阅读 · 0 评论 -
c++ 十六进制,八进制,十进制 的 输入
在缺省的情况下,系统约定输入的整型数是十进制数据。当要求按八进制或十六进制输入数据时,在cin中必须指明相应的数据类型:hex为十六进制;oct为八进制;dec为十进制。int i,j,k,l;cin>>hex>>i; //指明输入为十六进制数cin>>oct>>j; //指明输入为八进制数cin>>k;原创 2012-09-13 23:49:43 · 1271 阅读 · 0 评论 -
c 语言的输入输出
输入输出(stdio.h)1.标准的输入输出(1)格式的输入输出:scanf(输入的格式,输入的内存地址[地址1,地址2。。。。]);(2)字符的输入和输出:int getchar(),putchar(int);(3)字符串的输入和输出:char *gets(),putchar(char *);2.文件的输入输出:(1)步骤 a)用系统提供的能表达硬盘进入到内存中的数据原创 2012-09-13 23:46:13 · 878 阅读 · 0 评论 -
c语言 fopen,fgets,fputc,putchar函数的简单使用
#include#include#includevoid copy_string(char from[],char to[])//简单的复制函数{ int i=0; while(from[i]!='\0') { to[i]=from[i]; i++; } to[i]='\0';}int main(){ FILE * file; i原创 2012-09-13 23:28:36 · 2861 阅读 · 0 评论 -
简单的动态链接库代码演示
程序内加载动态库void *handle;void (*pfunc)(void);handle = dlopen("a(动态库名字)",RTLD_LAZY);if(!handle){ dlerror();相当于Perror,专属于dlopen,dlsym}pfunc = dlsym(handle(dlopen的返回值),“需要使用的函数”);找到使用的函数地址并返回原创 2012-09-13 10:06:55 · 879 阅读 · 0 评论 -
存储分配方式
储存分配方式操作系统会为了一个准备好运行的程序分配内存空间,包括四个部分:代码区、全局变量和静态变量区、栈区、堆区。1、代码区:用来存放程序的指令。2、全局变量和静态变量:用于存放全局变量、常量以及static存储的局部变量的内存分配。3、栈区:用于存放局部变量、函数的形参、函数返回地址等内存分配。4、堆区:用于存放变量的动态内存的分配。对程序实体的内存分配可以采用三种存储原创 2012-09-13 09:59:53 · 5736 阅读 · 0 评论 -
大小端识别代码
大小端识别代码 给出系统大小端识别的代码,仅供参考。传统写法: int get_order(){ union endian { short s; char c[2]; } order; order.s = 0x1234; if (order.c[0]=原创 2012-07-09 09:32:30 · 741 阅读 · 0 评论 -
linux命令大全
系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpui原创 2012-06-17 14:58:39 · 693 阅读 · 1 评论 -
线程函数pthread_cleanup_push()
NAMEpthread_cleanup_push, pthread_cleanup_pop - establish cancellation handlersSYNOPSIS#include pthread.h>void pthread_cleanup_push(void (*routine)(void*), void *arg);void pthread_clean原创 2012-06-04 22:01:42 · 934 阅读 · 0 评论 -
pthread_mutex_t封装
//Mutex.cpp#include pthread.h>#include iostream>usingnamespace std;class ThreadMutex{public:ThreadMutex(){pthread_mutex_init(&mtx, NULL);}~ThreadMutex(){pthread_mutex_d原创 2012-06-03 21:41:56 · 887 阅读 · 0 评论 -
pthread_cond_destroy()函数的使用
NAMEpthread_cond_destroy, pthread_cond_init - destroy and initialize condition variablesSYNOPSIS[THR] #include pthread.h>int pthread_cond_destroy(pthread_cond_t *cond);int pthread_cond原创 2012-06-03 21:33:55 · 6242 阅读 · 0 评论 -
syslog.h
NAMEsyslog - definitions for system error logging SYNOPSIS#include DESCRIPTIONThe syslog.h> header defines the following symbolic constants, zero or more of which may be OR-ed togeth原创 2012-06-03 18:17:35 · 2104 阅读 · 0 评论 -
<dlfcn.h>
NAMEdlfcn.h - dynamic linking SYNOPSIS#include DESCRIPTIONThe header defines at least the following macros for use in the construction of adlopen() mode argument:RTLD_LAZYReloca原创 2012-06-03 18:15:21 · 4254 阅读 · 0 评论 -
getopt.h
/* Declarations for getopt. Copyright (C) 1989, 90, 91, 92, 93, 94 Free Software Foundation, Inc.This file is part of the GNU C Library. Its master source is NOT part ofthe C library, however原创 2012-06-03 18:11:59 · 3011 阅读 · 0 评论 -
<arpa/inet.h>
NAMEarpa/inet.h - definitions for internet operationsSYNOPSIS#include DESCRIPTIONThe in_port_t and in_addr_t types shall be defined as described in.The in_addr structure shall be def原创 2012-06-03 18:04:44 · 13573 阅读 · 1 评论 -
/linux/include/linux/videodev.h
Linux kernel & device driver programmingCross-Referenced Linux and Device Driver Code[ source navigation ] [diff markup ] [ identifier search ] [ freetext search ] [ file s原创 2012-06-03 15:49:41 · 4680 阅读 · 0 评论 -
stdin
示例:一个最简单的小程序,它的功能是从键盘输入字符,然后将其送到控制台。采用perl语言实现,你可以会这样写: while ($line = ) { print $line; } 简单地说,是一个专用的文件句柄,在本例中它属于标准输入缓存(称为STDIN),通常是连接到键盘。每次我们将的值赋给变量$line时,即为将STDIN缓存中的首行取原创 2012-05-31 21:09:58 · 837 阅读 · 0 评论 -
dup和dup2
dup和dup2也是两个非常有用的调用,它们的作用都是用来复制一个文件的描述符。它们经常用来重定向进程的stdin、stdout和stderr。这两个函数的 原形如下: #include int dup( int oldfd );int dup2( int oldfd, int targetfd ) 利用函数dup,我们可以复转载 2012-05-31 21:08:17 · 564 阅读 · 0 评论 -
dl动态链接文件函数
名称dladdr, dlclose, dlerror, dlopen, dlsym, dlvsym - programming interface to dynamic linking loader dladdr,dlclose,dlerror,dlopen的,则dlsym,dlvsym - 编程接口以动态连接装载机Synopsis简介#include dlfcn.h >#原创 2012-05-29 23:47:10 · 6843 阅读 · 0 评论 -
linux下c编程系统函数调用之信息队列
今天的收获蛮都的啊,修改了几篇之前写的博文,给他们都加了一下的图片,现在我们再来看看信息队列系统函数的调用吧!首先我们纵观一下信息队列函数有哪些吧!msgget(),msgsnd(),msgrcv(),msgctl();看完这四个函数,感觉貌似跟前面学的那semget(),semop(),semctl();shmget(),shmat(),shmctl();有些相似,哈哈。原创 2012-04-25 23:33:12 · 777 阅读 · 0 评论 -
linux下c编程之无名管道pipe()函数
有名管道与无名管道是相对的,今天我们就来说说无名管道pipe吧!无名管道与fork的使用:下面我们还是通过一个小小的例子来说明一下无名管道吧!#include#include#include#include#includeint main(){ pid_t pid; char inf[30]; int fd[2],status; float原创 2012-04-25 22:44:15 · 2140 阅读 · 0 评论 -
linux下c编程之内存共享shemget函数的实现及案例-bmi体重身高测试1
下面,我们就通过一个小小的案例来说明一下shem()函数的使用吧。它所在头文件:#include #include int shmget(key_t key, size_t size, int shmflg);对返回值及参数做一下简单的说明:如果函数调用成功,则返回一个一个共享内存的id号,失败则返回-1第一个参数是键值,通常通过ftok()函数多得,原创 2012-04-23 23:13:05 · 784 阅读 · 0 评论 -
linux下c编程之内存共享shemget函数的实现及案例-bmi体重身高测试2
唉。。。刚刚学了一个有名管道跟signal()函数,有要学习一个叫什么共享内存的东西,真是忒让人不省心啊!mygod,怎么这么多系统函数啊!下面,我们就通过一个小小的案例来说明一下shem()函数的使用吧。它所在头文件:#include #include int shmget(key_t key, size_t size, int shmflg);对返回值原创 2012-04-23 23:11:21 · 1260 阅读 · 0 评论 -
linux下c编程之信号量semget,semop,semctl函数
信号量今天去参加北京市的植树志愿者活动啦!早上起来的挺早的,6:10就被杰子给叫起来啦,带着对春天的向往,我们坐着不花钱的大巴去做为市领导服务去啦!发了一个小红帽还有一个红色的制服。 唉。。。说好了,早上9点多学学校的,结果下午四点到的学校,专业课给耽误了。不过今天的收获还是蛮多的,还亲自为了后代埋了两颗小树苗呢,哈哈。。。 现在我们就谈谈信号量吧,再没有讲原创 2012-04-23 21:37:56 · 10803 阅读 · 0 评论 -
Linux下c编程系统函数调用Signal信号的介绍
信号是Linux编程中非常重要的部分,本文将详细介绍信号机制的基本概念、Linux对信号机制的大致实现方法、如何使用信号,以及有关信号的几个系统调用。信号机制是进程之间相互传递消息的一种方法,信号全称为软中断信号,也有人称作软中断。从它的命名可以看出,它的实质和使用很象中断。所以,信号可以说是进程控制的一部分。一、信号的基本概念 本节先介绍信号的一些基本概念,然后给出一些基原创 2012-04-17 16:27:32 · 2394 阅读 · 0 评论 -
利用linux下的c语言编程来简单的实现一个shell功能实现!
学习了fork(),exec()函数之后,让我们来简单是实现来实现一个shell里面用到了一些函数,进行对字符串进行做一下简单的处理!#include#include#include#include#include#include#include#include#define NUM 1024#define SIZE 50int mystrtok(原创 2012-04-14 14:42:19 · 13860 阅读 · 2 评论 -
被调用的linux系统函数system的是如何实现的!
用mysystem()函数来说明被调用的系统函数system是如何被实现出来的!其实是调用了linux里面的shell命令解释器来进行命令调用的,是通过fork()函数创建一个父进程和子进程,然后在子进程中进程调用execl()来引入shell解释器,从而实现命令解析的功能!下面请看代码吧#include#include#include#include#include原创 2012-04-14 14:14:12 · 838 阅读 · 0 评论 -
针对fork()函数的深入理解!用事例family家谱来进行说明!
通过这段时间的学习,对fork()这个创建进程的函数进行深入的理解,通过一个family一个进程家谱进行查看进程与进程直接的关系。首先要创建一个进程作为 爷爷 -> 父亲 -> 儿子 -> 女儿原创 2012-04-14 14:07:19 · 857 阅读 · 0 评论 -
Linux C 获取当前应用程序的绝对路径
/* 使用getcwd()获取的是当前工作路径,而不一定是程序的路径 */#include #include #include #define MAXBUFSIZE 1024int main ( int argc, char * argv[] ){char buf[ MAXBUFSIZE ];getcwd(buf, MAXBUFSIZE);printf(buf)原创 2012-04-11 00:46:26 · 13725 阅读 · 0 评论 -
strrchr()——查找字符串中最后出现某个字符的地方
strrchr-字符串扫描操作头文件:#include 原型: char *strrchr(const char *s, int c);描述:函数定位出s所指向的字符串中最后出现c(转换为char)的位置。结束符null字节也算做是字符串的一部分。返回值:成功时,strrchr()将返回指向该字节的指针(指向最后一个c的指针),如果字符串中没有c,返回null。错误:没有定义错原创 2012-04-11 00:00:24 · 10949 阅读 · 1 评论 -
Linux下获得主机与域名-gethostbyname和gethostbyaddr
1.数据结构hostent和servent: struct hostent{ char *h_name; /* official domain name of host */ char **h_aliases; /* null-terminated array of domain names */ int h_addrtype; /* host addre原创 2012-04-10 22:34:02 · 1308 阅读 · 0 评论