Linux 编程
spygg
这个作者很懒,什么都没留下…
展开
-
objdump(GCC)命令的用法
如何使用 objdump 查看源代码 1. 在编译时必须使用-g选项,-g意为debug,一般可以修改源代码的 Makefile来实现 如: CC =$(CROSSCOM_PILE)gcc 为 CC =$(CROSSCOM_PILE)gcc -g 使成生的vmlinux中含有debug信息 2. 所有生成 .o 的 rule 中再加一条 /*其他参数除了-c外抄生成.o文件用的转载 2012-11-10 21:35:59 · 2306 阅读 · 0 评论 -
linux exec函数族
说是exec系统调用,实际上在Linux中,并不存在一个exec()的函数形式,exec指的是一组函数,一共有6个,分别是:#include extern char **environ;int execl(const char *path, const char *arg, ...);int execlp(const char *file, const char转载 2012-08-05 20:08:27 · 652 阅读 · 0 评论 -
linux父子进程
#include#include#include#includeint main(void){pid_t pid;char *message;int n;pid=fork();if(pid{ perror("fork failed!"); exit(1);}if(pid==0){ message="This is th原创 2012-08-05 20:08:57 · 637 阅读 · 0 评论 -
linux 信号
信号(Signal,亦称作软中断)机制是在软件层次上对中断机制的一种模拟。一个完整的信号生命周期可以分为 3 个重要阶段,这 3 个阶段由 4 个重要事件来刻画的:信号产生、信号在进程中注册、信号在进程中注销、执行信号处理函数。#include int sigemptyset(sigset_t *set); int sigfillset(sigset_t *set);原创 2012-08-05 20:06:09 · 788 阅读 · 0 评论 -
linux动态链接库
/*sintest.c计算一个数的sin值*/#include#include#define pi 3.1415926int main(void){ double x; printf("Input a number for calculate:\n"); scanf("%lf",&x); //这个一定要用 %lf原创 2012-08-05 20:07:36 · 460 阅读 · 0 评论 -
C 语言FTP
实现ftp上传,在一些情况下很简单,比如c#,或者vc6.0++中几句代码就可以,可能很多人都是这样实现的,c语言的就很少了。使用c语言可以比较好考虑的用户端,不用安装很大的运行库。当然纯粹的c语言来写,没有任何的代码让你用,一切都要重头开始,我看到很多人在找这个代码,也没见人给出来,这里贴出来方便大家ftp本身协议很简单发送 USER PASS进行登陆这时可以设置传输模式原创 2012-08-05 20:06:58 · 1279 阅读 · 0 评论 -
linux 守护进程
守护进程,也就是通常所说的 Daemon 进程,是 Linux中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程常常在系统引导装入时启动,在系统关闭时终止。Linux系统有很多守护进程,大多数服务都是通过守护进程实现的。守护进程的创建步骤:1.创建子进程并且父进程退出2.创建新会话3.改变当前目录为根原创 2012-08-05 20:05:40 · 1238 阅读 · 0 评论 -
简单的进度条
#include #define NUM 20int main(void){ int i, j; for (i = 0; i { for (j = 0; j { putchar('='); } for (j = i; j {原创 2010-04-18 11:47:00 · 350 阅读 · 0 评论 -
简单的剪刀石头布游戏
/*人电脑实现石头剪刀布游戏*/#include#include#includeenum game{cut,stone,paper};char getfirist(void){ int ch; ch=getchar(); while(getchar()!='/n') continue; return ch;}help()原创 2010-04-18 11:49:00 · 647 阅读 · 0 评论 -
小程序一个,可以比较那种算法好哈
/*程序功能:从键盘输入一行字,统计以a-z开头的单词个数*/#includemain(){char *s,b[200];int a[26],words=0;int i,flag=0;s=b;for(i=0;ia[i]=0;gets(s);printf("%s",s);printf("/n");*s=' ';while(*s!='/0')原创 2010-04-27 10:54:00 · 404 阅读 · 0 评论 -
建立链表的另类方法
教科书上的经典算法是用struct来实现链表这一数据结构,本文用指针来实现建立链表的操作,虽然实际应用中不常用,但是对于指针的理解是一种很好的案例./*程序功能:建立从1-9的链表并输出(非数据结构实现)*/#include#define INTSIZE sizeof(int)#define NODESIZE (sizeof(int)+sizeof(char *))#defin原创 2010-04-27 10:56:00 · 461 阅读 · 0 评论 -
一个小程序,算法很经典
/*输出2/1,3/2,5/3,8/5……前N项的和*/ #include "stdio.h"int main(void){ float f1=1.0,f2=2.0; int i,n; float sum=0.0; printf("Input n/n"); scanf("%d",&n); for(i=1;i {原创 2010-05-07 00:58:00 · 529 阅读 · 0 评论 -
链表的排序
/*程序功能:输入一个链表并按照链表标号排序*编译环境:VC6.0*by:spygg*/#include#includestruct list{int num;struct list *next;};struct list *creat()//创建链表{struct list *head,*p,*tail;head=NULL;do{原创 2010-05-08 01:32:00 · 367 阅读 · 0 评论 -
用单链表来实现逆序输出
/*输入123,输出321*/#include#define L sizeof(number)typedef struct number{ int num; struct number *next;}number;number* integerlist(int d){ number *last,*p,*head; int原创 2010-05-10 08:22:00 · 644 阅读 · 0 评论 -
Vim设置
可以复制下面的内容保存为.vimrc放到/home/user(你的用户名)目录下,自动生效。。。。set t_Co=256set nocompatibleset mouse=asyntax onfiletype onfiletype plugin onset autowriteset autoreadset numberset showcmdse转载 2012-11-10 21:39:30 · 731 阅读 · 0 评论 -
Ubuntu 13使用Qt 5
Qt安装我是使用的软件中心安装的,自动安装比较方便下面说下怎么使用首先sudo gedit /ect/profile在末尾添加内容QTDIR=/usr/share/qt5/PATH=$QTDIR/qt/bin:$PATHPATH=$QTDIR/bin:$PATHMANPATH=$QTDIR/man:$MANPATHLD_LIBRARY_PATH=$QTDIR/lib原创 2013-06-17 22:34:45 · 1866 阅读 · 0 评论 -
比应语音网络词典
欢迎访问我的github: github地址一个简单的 “比应词典”爬虫,带语音哦 只是最简单的网页解析,适合初学者,连POST都没用到,不过正则表达式花了我几个小时来调试啊!!!!!支持 中/英文中文单词(带拼音): 格式: py 测试 py test英文单词(支持音频): 格式: 英音:py test -e 美音:py test -u支持双语例句(默认三个例句原创 2017-08-22 23:27:33 · 933 阅读 · 0 评论 -
设置Linux Qt文件默认打开方式为QtCreator
Linux自定义文件打开方式,设置Qt工程打开方式为QtCreator并设置图标原创 2016-12-31 09:01:56 · 5215 阅读 · 0 评论 -
github入门
本文转自菜鸟教程http://www.runoob.com/w3cnote/git-guide.html今天,GitHub已是:一个拥有143万开发者的社区。其中不乏Linux发明者Torvalds这样的顶级黑客,以及Rails创始人DHH这样的年轻极客。这个星球上最流行的开源托管服务。目前已托管431万git项目,不仅越来越多知名开源项目迁入GitHub,比如Ruby转载 2017-07-01 20:48:36 · 990 阅读 · 0 评论 -
debian 8 64环境下的Qt on Android安装
1.到官方网站上下载Qt5.8安装文件,安装到/opt目录2.打开Qt设置看到那两个下载按钮会自动带你去下载3.安装ant,可以去apache官网上下载,或者sudoapt-get install ant4.添加路径命令:vim ~/.bashrc在末尾添加上这几句exportS原创 2017-05-23 23:18:03 · 1515 阅读 · 0 评论 -
简单几步实现网络音乐播放器(Qt版百度FM)
简单几步实现 百度FM音乐 Qt版本 很久之前写的软件了,一直没有总结,也懒得继续开发了,这里简单总结一下,也算是对自己的努力一个交代吧。 起源:不大习惯打开一个浏览器听歌,在Ubuntu下一直用Y. T. Chung兄的豆瓣FM ,但是豆瓣貌似不支持客户端了,于是自己动手写了一个,凑合用吧。程序功能:1.支持百度账号登录(登录享受更好的试听体验哦。。),该功能未完善(验证码原创 2016-12-28 03:35:04 · 10196 阅读 · 2 评论 -
也说FLV格式分析(C语言从0开始,详解,完整版)
也说FLV格式分析(C语言完整版)最近想写一个在线视频播放软件,经研究得知某视频网站会将一个视频成很多段来投放从而方便在线缓冲,以及加Ad之类的目的。下载后大概如下图所示(星哥的九品芝麻官),于是就想合并这些视频,所以就研究了下FLV的格式,然后用C语言写了一个很丑陋的版本。本教程暂且分成两部分:FLV格式分析和FLV文件原创 2016-12-27 16:09:30 · 5385 阅读 · 0 评论 -
sqlite3 C 笔记
一.安装1.下载源码和Windows dll两个压缩包2.编译lib 将dll中的def文件复制到源码目录下执行LIB /out:sqlite3.lib /MACHINE:IX86 /DEF:sqlite3.def3.将.lib和dll, sqlite3.h复制到源码目录就可以使用sqlite3了二.入门编程#include using namespace std;原创 2016-07-24 10:48:46 · 1173 阅读 · 0 评论 -
windows xp vc 6.0编译最新net-snmp源码
windows xp vc 6.0编译最新net-snmp源码 一.安装Microsoft Platform SDK for Windows XP SP2①.下载很多cab文件和extract.exe以及psk-full.bat,下载地址如下 http://www.microsoft.com/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htm原创 2016-05-12 20:48:47 · 2317 阅读 · 0 评论 -
mutlget debian 8 wxwidgets修改版本
1.修正过时的AddPendingEvent()函数2.更改wxwidgets的字符串比较(采用strcmp)3.修正悬浮窗口一开始就最大化问题4.增加悬浮窗右键原创 2015-02-27 04:05:56 · 1616 阅读 · 0 评论 -
automake 用法
今天下载了一个开源项目,编译后发现除了src文件夹以外还有很多文件研究了一下结论是可以用automake之类的东西来自动管理很是方便,总的说来主要是要编写Makefile.am文件现在总结如下:先建立helloWorld.c,不用多说了吧,然后就可以使用auto系列工具了1.autoscan2.修改configure.scan 为 configure.in增加AM_原创 2014-12-04 22:42:54 · 1488 阅读 · 0 评论 -
也说alsa音乐播放(mp3文件从零开始)
现有的音乐格式千差万别,于是就有了ffmpeg话说这个框架真是够牛逼,音频视频转码都不在话下,我是个死脑筋,遇到不懂的老是想弄明白,对于音乐播放感觉是一头雾水,经过几天的研究以后大致想明白了,对一个mp3文件要播放出来需要经过几个步骤:1.转码,其实也就是提取文件中有用的音频信息2.经过第一步得到的wav波形文件3.调用声卡来播放wav文件,对于linux 3.0以后的内核一般为als原创 2014-12-21 19:17:46 · 7181 阅读 · 3 评论 -
C语言的学习
要读的书1.谭浩强--C语言程序设计 这个是入门,个人感觉入门书籍里面还是比较合适新手的,配有完备的课后习题和答案2.K&R 和C语言解析教程这本是经典,不多说..不过说实话,有点难,等有了基础了再看不迟!3.算法:C实现(卷一二) 当你掌握了基础后,也许会对未来的方向比较迷茫,不过也许你已经发现编程需要思想,有了思想,编程就是一个体力活了,总之这本书是经典中的经典,如果有时间原创 2010-09-12 23:33:00 · 380 阅读 · 0 评论 -
一个工人工资管理系统
/*有10个职工,每个职工的数据包括职工编号、姓名、职称、工龄及基准工资,从键盘输入每个职工的数据,具体要求:(1) 通过键盘接收数据;(2) 计算并输出每个职工应发的工资(工资计算原则是:基准工资*职称系数+基准工资*10%*工龄系数;职称系数:初级为1、中级为1.2、高级为1.5;工龄系数=工龄/2);(3) 计算并输出平均工资;(4) 按工资从低到高进行排序;原创 2010-09-12 23:35:00 · 1515 阅读 · 0 评论 -
指向结构的指针(K&R摘录
#include#include#include#define MAXWORD 100int getword(char * ,int);struct key *binsearch(char *,struct key *,int );main(){ char word[MAXWORD]; struct key *p; while(getwor原创 2010-09-12 23:35:00 · 437 阅读 · 0 评论 -
线性表
/*创建一个顺序表,表中元素无序,删除顺序表中值相同的元素,并输出顺序表删除前后的所有元素。*/#include#include #define LIST_INIT_SIZE 100 //线性表初始空间的分配量#define LISTINCREMENT 10 //线性表存储空间的分配增量typedef int ElemType; //线性表数据类型原创 2012-08-02 21:26:50 · 423 阅读 · 0 评论 -
linuxC程序中获取shell脚本输出
原文地址 http://blog.chinaunix.net/u1/55630/showart_1922137.html 1. 前言 Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作。比如实现一个ping程序来测试网络的连通性,实现ping函数需要写上200~300行代码,为什么不能直接调用系转载 2012-08-02 21:27:39 · 454 阅读 · 0 评论 -
alsa 编程
ALSA(Advanced Linux Sound Architecture)是由内核驱动,标准的API库和一系列实用程序组成.因为涉及到版权和BUG的问题Linux 2.6内核抛弃了旧的OSS,ALSA作为声音编程的生力军被作为了合并到了内核中. 数字音频基础:音频是由电器设备(麦克风等)将空气的变化转化成的电信号.模数转换器(A/D)将模拟电压转化成一系列不连续的值称之原创 2012-08-02 21:28:52 · 1456 阅读 · 0 评论 -
learn4sphinx
#include intmain(int argc, char *argv[]) { ps_decoder_t *ps; cmd_ln_t *config; FILE *fh;char const *hyp, *uttid;int16 buf[512];int rv; int32 score;config = cmd原创 2012-08-02 21:30:13 · 629 阅读 · 0 评论 -
sphinx学习笔记1
1.sudo apt-get install libasound2-dev &&&&&&rename sphinxbase_1XXXX to sphinxbase2. ./auto...sh3. ./configure 4. make 5 sudo make install6. repeat the step 2原创 2012-08-02 21:31:09 · 607 阅读 · 0 评论 -
sphinx cmu & /dev/dsp does not exist in ubuntu 10.10
In recent versions Ubuntu broke compability with OSS layer. You either need to recompile sphinxbase to support alsa (you need to have libasound2-dev installed) or need to insert kernel module for OSS原创 2012-08-02 21:31:30 · 717 阅读 · 0 评论 -
gcc/objdump/gdb
编译时候 gcc -g -o main main.c //-g 选项可以生成调试信息 用来gdb调试objdump -S main(对应C语言的汇编)objdump -S -D -G main >log //可以查看对应的汇编信息原创 2012-08-02 21:34:28 · 810 阅读 · 0 评论 -
linux隐式密码输入(二)
#include #include #include #include #include #include int inputpassword(char *pass){int i,j;char inletter,password[32];struct termios term, termsave; 专门的结构体termiosint fd=-1;转载 2012-08-03 20:03:03 · 846 阅读 · 0 评论 -
linux隐式密码输入(一)
linux c 不回显输入密码转自:http://book.csdn.net/bookfiles/545/10054518306.shtml参照:http://fanqiang.chinaunix.net/adm/other/2006-06-13/4530.shtml参照:http://blog.chinaunix.net/u2/62515/showart_494015.htm转载 2012-08-03 20:03:46 · 866 阅读 · 0 评论 -
Linux tcp
(1)函数说明 进行socket编程的基本函数有socket、bind、listen、accept、send、sendto、recv、recvfrom这几个,其中对于客户端和服务器端以及 TCP 和 UDP 的操作流程都有所区别,这里先对每个函数进行一定的说明,再给出不同情况下使用的流程图。 socket:该函数用于建立一个socket连接,可指定socket类型等信息。在建立了socke原创 2012-08-03 20:17:29 · 653 阅读 · 0 评论