
linux下c编程
文章平均质量分 90
蔡松豆
这个作者很懒,什么都没留下…
展开
-
linux学习笔记进程——进程的标志
1.进程的概念原创 2017-05-14 17:04:46 · 631 阅读 · 0 评论 -
/configure,make,make install的作用
这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤。./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。 make是用来编译的,它从Makefile中读取指令,然后编译。 make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。AUTOMAKE和转载 2017-08-18 19:29:09 · 258 阅读 · 0 评论 -
libmad+alsa 实现arm下mp3播放
libmad+alsa 实现arm下mp3播放 2015-10-10 18:42:55 原文libmad是一个开源的mp3解码库,轻便高效,mplayer也是用这个库来解码mp3的。ALSA(Advanced Linux Sound Architecture)是Linux中提供声音设备驱动的内核组件,用来代替原来的开放声音系统(Open Sound System,OSSv3)。除了声音设备驱动,A转载 2017-08-18 21:13:52 · 2111 阅读 · 2 评论 -
audio: /dev/dsp: No such file or directory madplay
好不容易把 madplay 的x86版本弄好了,兴冲冲的把一首歌考进去 测试,运行madplay的时候 出现了“audio: /dev/dsp: No such file or directory ” 这样的错误。通过google 搜索得知,是因为ubuntu 没有安装声卡的原因,接下来首先要先把 ubuntu的声卡安装好。 root@ubuntu:/opt/FriendlyARM/mini24转载 2017-08-20 00:48:41 · 2254 阅读 · 0 评论 -
alsa的 snd_pcm_readi 和 snd_pcm_writei
ALSA接口中的SIZE都是以Frame为单位 Frame Byte=Sample_bits * Channels / 8。 例如: snd_pcm_readi snd_pcm_writei snd_pcm_sw_params_set_avail_min snd_pcm_sw_params_set_start_threshold snd_pcm_readi () sn转载 2017-08-21 11:06:37 · 9300 阅读 · 2 评论 -
ubuntu下安装codeblock
1.安装基本编译环境$sudo apt-get install build-essential$sudo apt-get install gdb2.安装codeblock$sudo apt-get install codeblocks$sudo apt-get install codeblocks-dbg$sudo apt-get install wxformbuilder($sudo apt-g转载 2017-05-27 19:00:05 · 681 阅读 · 0 评论 -
结构体中含有string 会异常的原因和解决办法
#include <iostream>#include <string>#include <cstdio>using namespace std;typedef struct node{string str;}NODE;int main(){string var = "lirao";NODE * node = (NODE *)malloc (sizeof(NODE));node->转载 2017-09-07 14:01:29 · 7965 阅读 · 5 评论 -
构建嵌入式Linux应用系统 —— mp3播放器 madplay的移植
我们的Linux系统开机时都会播放一首 mp3,这其中所用的播放器就是madplay,下面我们介绍一下该播放器的详细移植过程。说明:本文中所使用的交叉编译器版本为arm-linux-gcc-3.4.5,为了还原一个真实的移植过程,本文从网络上搜索源代码开始。目前madplay的官方网站是 http://www.underbit.com/products/mad/,透过该网站的介绍可以得知,它还需原创 2017-08-26 14:47:00 · 3347 阅读 · 0 评论 -
C/C++编写程序以获取文件夹内所有子文件名
参考:http://www.cnblogs.com/xudong-bupt/p/3504442.html#利用C/C++编写程序以获取文件夹内所有子文件名,以下程序参考网络上诸多博文:头文件如下:[cpp] view plain copy#include <iostream> #include <stdlib.h> #include <stdio.h> #include <string.转载 2017-08-23 17:39:59 · 4550 阅读 · 0 评论 -
linux c++ kill进程
kill(传送信号给指定的进程)表头文件 #include<sys/types.h> #include<signal.h>定义函数 int kill(pid_t pid,int sig);函数说明 kill()可以用来送参数 sig 指定的信号给参数 pid 指定的进程。参数 pid 有几种情况: pid>0 将信号传给进程识别码为 pid 的进程。 pid=0 将转载 2017-08-17 17:22:21 · 9117 阅读 · 0 评论 -
linux c++多进程
当我们看恐怖片时,经常会有这样的场景:当一个人被鬼上身后,这个人的身体表面上还和以前一样,但是他的灵魂和思想已经被这个鬼占有了,因此它会控制这个人做他自己想做的事情–那么在进程中也有这样的情景。那么是如何实现的呢?现在我们来学习exec()函数族 一.exec()函数 族 1. 首先我们在终端输入命令:man exec 可以看到函数的原型: #include <unistd.h>int execl转载 2017-08-17 15:23:03 · 2342 阅读 · 2 评论 -
linux下多线程的使用 pthread_create()
原型:int pthread_create(pthread_t *thread, pthread_attr_t *attr, void *(*start_routine)(void *), void *arg)用法:#include <pthread.h>功能:创建线程(实际上就是确定调用该线程函数的入口点),在线程创建以后,就开始运行相关的线程函数。说明:thread:线程原创 2017-05-14 18:05:37 · 1339 阅读 · 0 评论 -
C实现不定长数组
写程序的时候经常要定义这样一个数组,要前面程序运行后才能知道数组的大小,然而C语言不支持不定长数组的定义,但是我们可以通过动态数组实现一个不定长度的数组。一维数组:#include<stdio.h>#include<stdlib.h>//要使用malloc是要包含此头文件#include <memory.h>//要使用memset是要包含此头文件int main(){ int m;原创 2017-05-18 21:29:11 · 34168 阅读 · 1 评论 -
linux 下C 操作sqlite环境搭建(ubuntu)
1.安装sqlite首先更新源sudo apt-get update然后安装sqlite3sudo apt-get install sqlite3再安装Sqlite3编译需要的工具包sudo apt-get install libsqlite3-dev查看是否安装成功sqlite3 -version2.测试a.创建c文件vi test.c#include <stdio.h>#include <sq原创 2017-05-28 11:10:31 · 1589 阅读 · 0 评论 -
socket遇到错误直接退出原因和解决办法
原因:socket遇到错误时,默认将错误信息交给系统处理,而系统的处理办法一般是直接关闭整个应用,所以就会出现遇到错误程序直接关闭,比如客户端关闭,服务器还在给客户端发信息,就会出现发送失败,导致服务器也直接关闭的现象解决办法:把错误交给自己定义的函数处理 先定义一个函数void Perr(int signum){ if(signum==SIGPIPE) { fpri原创 2017-06-18 11:00:22 · 3896 阅读 · 0 评论 -
makefile简单教程
1.一般格式是target:components TAB rule即 目标:组成 规则比如 有一个工程里含有led.c led.h main.c 要生成 main的可执行程序 则要编辑 vi Makefilemain:main.o led.o gcc -o main.o led.omain.o:mian.c led.h gcc -c main.cled.o:led转载 2017-05-13 18:58:43 · 289 阅读 · 0 评论 -
linux下codeblockes多线程编译配置
Project–>Build options–>Linker settings–>Other linker options 加上 -lpthread 确定就可以了原创 2017-07-11 23:03:52 · 773 阅读 · 0 评论 -
linux线程之间的通信
<div id="content" style="overflow-x: hidden; word-break: break-all;"><p>原来总是用互斥锁(MUTEX)和环境变量(cond)去控制线程的通信,用起来挺麻烦的,用信号量(SEM)来通信控制就方便多了!</p>用到信号量就要包含semaphore.h头文件。可以用sem_t类型来声明一个型号量。用int sem_init(sem_转载 2017-07-11 23:22:11 · 298 阅读 · 0 评论 -
Linux下c开发之——线程间通信
Linux下c开发之——线程间通信 <div class="article_manage clearfix"> <div class="article_r"> <span class="link_postdate">2016-02-18 17:50</span> <span class="li转载 2017-07-11 23:25:27 · 5484 阅读 · 0 评论 -
使用automake等命令自动生成Makefile文件 (转载)
使用automake等命令自动生成Makefile文件 (转载) Linux下编程时,为了方便编译,往往使用Makefile文件自动完成编译,但是Makefile文件本身的书写十分复杂,规则很多。好在Linux为我们提供了自动生成功能完善的Makefile文件的工具au...转载 2018-04-10 15:09:13 · 345 阅读 · 1 评论