Linux 应用程序开发
Linux 应用程序开发学习笔记
SongYuLong的博客
学无止境
展开
-
libmad音频解码库-Linux交叉编译移植
下载并解压libmad-0.15.1b.tar.gz下载链接:https://downloads.sourceforge.net/mad/libmad-0.15.1b.tar.gz$tar -xvf libmad-0.15.1b.tar.gz$cd libmad-0.15.1b1、先执行下面的命令:这条命令是为了适配高版本的gcc,因为高版本的gcc已经将-fforce-mem去除了:$...原创 2019-02-28 14:37:22 · 1661 阅读 · 0 评论 -
arm linux 编译websocket
### build websocket$tar xvf libwebsockets.tar.gz $cd libwebsockets$mkdir build$cd build$CC=arm-anykav200-linux-uclibcgnueabi-gcc cmake \-DCMAKE_INSTALL_PREFIX:PATH=$(pwd)/output \-DLWS_WITH_LW...原创 2019-09-26 17:32:48 · 1695 阅读 · 0 评论 -
Linux speex音频库-音频数据编解码
speex encoder#include <stdio.h>#include <stdlib.h>#include <stddef.h>#include <stdbool.h>#include <stdint.h>#include <unistd.h>#include <getopt.h>#i原创 2018-09-29 17:41:31 · 861 阅读 · 1 评论 -
linux curl 请求https下载数据
#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <curl/curl.h>#define FILE_PATH "/tmp/test.dat"#define TEST_URL "https://my.aliyuncs.com/testdata/test.dat" //服务器访问URLstatic FILE *fp_aui = NULL;static siz原创 2020-06-04 11:45:41 · 826 阅读 · 0 评论 -
linux网络调试,工具类使用
网络调试相关命令:抓包命令:sudo tcpdump -i any port 80 -A -s 0原创 2019-12-09 17:17:43 · 181 阅读 · 0 评论 -
WebRtc
转载:https://blog.csdn.net/yetyongjin/article/details/81027468转载 2018-09-12 18:05:41 · 188 阅读 · 0 评论 -
linux bluez bluetooth工具命令使用
bluez 编译生成的工具集:bccmdbluemoonbluetoothctlbtattachbtmonciptoolhciattachhciconfighcidumphcitoolhex2hcdl2pingl2testmpris-proxyrctestrfcommsdptoolhcitool:hcitool - HCI Tool ver 5.48...原创 2018-08-07 21:45:40 · 7648 阅读 · 0 评论 -
Linux 常用函数
读取WIFI MAC#define WIFI_MAC_PATH "/sys/class/net/wlan0/address"char *gpt_get_wifi_mac(char *mac, int with_colon){ int fd; int rd_len = 0; char buffer[18] = {0}; fd = open(WIFI_MAC_P...原创 2018-08-28 10:45:40 · 573 阅读 · 0 评论 -
MQTT
mqtt(Message Queue Telemetry Transport),是基于服务器端、客户端的一个消息传输协议,分为服务器端和客户端,github主页:https://github.com/mqtt/mqtt.github.io/wiki/software?id=software,这里有很多服务器端、客户端的实现。服务器端mosquitto mosquitto源代码可以从这里下载...原创 2018-08-31 17:57:07 · 806 阅读 · 0 评论 -
linux c 库文件
undefined reference to `dlsym'-ldl原创 2018-08-12 11:10:40 · 836 阅读 · 0 评论 -
Linux C 判断文件是否存在,是否可读,可写,可执行
一、access函数功能描述: 检查调用进程是否可以对指定的文件执行某种操作。 用法: #include <unistd.h>#include <fcntl.h>int access(const char *pathname, int mode); 参数: pathname: 需要测试的文件路径名。 mode: 需要测试的操作模式,可能值是一...原创 2018-06-17 16:18:28 · 10829 阅读 · 0 评论 -
Linux 定时 timer
编译连接:-lrt#/* We can use a simple forward declaration. */struct sigevent;/* A time value that is accurate to the nearest microsecond but also has a range of years. */struct timeval ...原创 2018-05-31 20:24:22 · 408 阅读 · 0 评论 -
Linux ALSA (Advanced Linux Sound Architecture)
http://www.alsa-project.org/alsa-doc/alsa-lib/index.htmlhttp://www.alsa-project.org/~tiwai/writing-an-alsa-driver/http://www.alsa-project.org/alsa-doc/alsa-lib/group___p_c_m___h_w___params.html原创 2018-05-31 19:55:19 · 659 阅读 · 0 评论 -
linux mpd mpc mediaplayer
player.h File Reference:[https://www.musicpd.org/doc/libmpdclient/player_8h.html]MPD client library. More...Go to the source code of this file.Functionsbool mpd_send_current_song (struct mpd...原创 2018-06-06 20:47:12 · 926 阅读 · 0 评论 -
linux C++ & C 读取指定目录下的指定后缀名,去除处扩展名获取名字存至数组
转自https://blog.csdn.net/a503932194/article/details/47830779#include<iostream>#include<stdio.h>#include<unistd.h>#include<dirent.h>#include<string.h>#include&l...转载 2018-06-21 10:03:53 · 2069 阅读 · 0 评论 -
cJSON V1.4.5源码
cJSON.h/* Copyright (c) 2009 Dave Gamble Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to ...原创 2018-09-02 20:20:37 · 775 阅读 · 0 评论 -
cJSON 使用笔记
cJSON:/* cJSON Types: */#define cJSON_Invalid (0)#define cJSON_False (1 &amp;lt;&amp;lt; 0)#define cJSON_True (1 &amp;lt;&amp;lt; 1)#define cJSON_NULL (1 &amp;lt;&amp;lt; 2)#define cJSON_Number (1原创 2018-09-02 21:37:51 · 4451 阅读 · 2 评论 -
Linux C源文件编译动态库静态库
文件目录:my_library|_inc |_mylib.h|_src |_mylib_func.c |_mylib_system.c|_lib |_编译生成目标MakefileMakefile# build libraries#CC=#AR=#LD=BUILDPATH=$(shell pwd)LIBPATH=$(BUILDPATH)/libLIB_STAT...原创 2019-07-26 15:12:22 · 458 阅读 · 0 评论 -
Linux系统时间同步
北京时间获取接口:苏宁接口:http://quan.suning.com/getSysTime.do淘宝接口:http://api.m.taobao.com/rest/api3.do?api=mtop.common.getTimestampLinux系统时间设置:/* 1. apply system time */; cur_time = atoll(timestamp); print...原创 2019-07-16 19:15:48 · 261 阅读 · 0 评论 -
Linux c解析bmp位图
bmp.h * ===================================================================================== * * Filename: bmp.h * * Description: bitmap header * * Version: 1.0 * Cr...原创 2019-06-28 14:52:34 · 1126 阅读 · 0 评论 -
linux source code download
http://www.linuxfromscratch.org/blfs/view/svn/index.html原创 2018-09-29 20:48:24 · 900 阅读 · 0 评论 -
ubuntu zbar
下载zbar:wget http://downloads.sourceforge.net/project/zbar/zbar/0.10/zbar-0.10.tar.gz编译zbar:$tar xvf zbar-0.10.tar.gz$cd zbar-0.10$ ./configure --enable-shared --disable-video --without-python --...原创 2018-10-06 15:55:22 · 1062 阅读 · 2 评论 -
zlib arm linux交叉编译
转自:https://blog.csdn.net/npy_lp/article/details/6991704 开发平台:Ubuntu11.04 编 译器:arm-gcc-4.1.1.tar.bz2 (可从http://download.csdn.net/detail/npy_lp/3821111上下载) Zlib源码包:zlib.tar.bz2 (可从http://downlo...转载 2018-09-25 19:45:04 · 3038 阅读 · 0 评论 -
pthread.h
NAME pthread.h - threadsSYNOPSIS [THR] [Option Start] #include <pthread.h> [Option End]DESCRIPTION The <pthread.h> header shall define the following symbols: [BAR]...原创 2018-09-07 14:24:17 · 668 阅读 · 0 评论 -
Linux cmake使用笔记
CMake:All problems in computer science can be solved by another level of indirection. cmake会根据cmake-language编写的 CMakeLists.txt 或.cmake后缀文件编译自动生成MakefileCMake使用流程:在 linux 平台下使用 CMake 生成 Makefile...原创 2018-09-06 12:01:16 · 835 阅读 · 0 评论 -
C++ 代码检查工具
Cppcheck :http://cppcheck.sourceforge.net/Clang Static Analyzer https://clang-analyzer.llvm.org / sudo apt install clangcppcheck main.c输出:Checking main.c...[main.c:15]: (error) Common reallo...原创 2018-09-03 15:27:34 · 2537 阅读 · 0 评论 -
WAV WaveFormat 音频格式
http://soundfile.sapp.org/doc/WaveFormat/The WAVE file format is a subset of Microsoft's RIFF specification for the storage of multimedia files. A RIFF file starts out with a file header followed by...原创 2018-06-05 17:25:44 · 3813 阅读 · 0 评论 -
Linux input keyevent
#include <stdio.h>#include <stdlib.h>#include <stdint.h>#include <unistd.h>#include <sys/shm.h>#include <sys/sem.h>#include <sys/msg.h>#include <原创 2018-06-04 19:55:55 · 2483 阅读 · 0 评论 -
linux C stdint.h
/* Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms...原创 2018-05-25 10:06:23 · 2144 阅读 · 0 评论 -
Linux C 第十七章 错误处理函数
第十七章 错误处理函数相关头文件#include ferror :int ferror(FILE *stream); 检查文件流是否有错误发生 ferror()用来检查参数stream所指定的文件流是否发生了错误情况,如有错误发生则返回非0值; 如果文件流有错误发生则返回非0值。perror :void perror(const char *s); 打印原创 2018-01-11 13:25:07 · 336 阅读 · 0 评论 -
Linux C 第十六章 信号函数
第十六章 信号函数相关头文件:#include #include #include alarm :unsigned int alarm(unsigned int seconds); 设置信号传送闹钟 alarm()用设置信号SIGALRM在经过参数secondes指定的秒数后传送给目前的进程。如果参数seconds为0,则之前设置的闹钟 会被取消,并将剩下的时间原创 2018-01-11 13:00:13 · 358 阅读 · 0 评论 -
Linux C 第十四章 格式化输入输出函数
第十四章 格式化输入输出函数第十四章 格式化输入输出函数#include <stdio.h>#include <stdarg.h>fprintf :int fprintf(FILE *stream, const char *format, ...); 格式化输出数据至文件; fprintf()会根据参数format字符串来转换并格式化数据,然后将结果输出到参数stream指定的文原创 2018-01-02 09:30:13 · 383 阅读 · 0 评论 -
Linux C 第十三章 进程及流程控制
第十三章 进程及流程控制第十三章 进程及流程控制#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <fcntl.h>#include <assert.h>#include <signal.h>#include <setjmp.h>#include <sys/types.h>#include <sys/s原创 2018-01-02 09:28:50 · 242 阅读 · 0 评论 -
Linux C 第十二章 标准I/O函数
第十二章 标准I/O函数第十二章 标准I/O函数#include <stdio.h>clearerr :void clearerr(FILE *stream); 清除文件流的错误旗标; clearerr()清除参数stream指定的文件流所使用的错误旗标;fclose :int fclose(FILE *stream); 关闭文件; fclose()用来关闭先前用f原创 2018-01-02 09:27:34 · 272 阅读 · 0 评论 -
Linux C 第一章 字符测试函数
字符测试函数:#include <ctype.h>isalnum :是否为英文字母或数字 是返回TRUE.isalpha :是否为英文字母 是返回TRUE.isascii :是否为ASCII码字符 也就是范围在0~127之间,是返回TRUE.isblank :是否为空格字符,空格(space ASCII码为:32) 或定位字符(TAP ASCII码为:9) 是返回TRUE.iscntrl原创 2017-08-29 16:15:31 · 408 阅读 · 0 评论 -
Linux C 第二章 数据转换函数
#include <stdlib.h>atof :扫描参数字符串,跳过前面的空格字符直到遇到数字或正负号才开始转换,直到遇到非数字或结束符('\0')才结束转换, 参数字符串可含正负号、小数点或以E(e)来表示的指数部分, 转换后返回浮点型数, 将字符串转为浮点小数例:char *a="-100.23" atof(a).其结果为 -100.23(浮点数)float。atoi原创 2017-08-29 16:19:39 · 552 阅读 · 0 评论 -
Linux C 第四章 时间函数
第四章 时间函数//需要的头文件#include <time.h>#include <sys/time.h>#include <sys/timeb.h>typedef long time_t; asctime : char *asctime(const struct tm *timeptr); 将struct tm 数据转换为世界时间 time_t timep;原创 2017-12-06 10:08:23 · 763 阅读 · 0 评论 -
Linux C 第三章 内存配置函数
第三章 内存配置函数所需头文件#include <stdio.h>#include <unistd.h>#include <sys/mman.h>相关函数alloca :用来配置size个字节的内存空间,与malloca/calloca不同的是,alloca()是从堆栈空间(stack)中 配置内存,因此在函数返回时会自动释放空间。brk :calloc : 用来配置nmemb原创 2017-12-04 19:44:14 · 274 阅读 · 0 评论 -
Linux C 文件IO操作
1.不带缓冲的文件IO/操作主要有5个函数:open, read, write,lseek,close。这里的不带缓冲指的是每一个函数都只调用系统中的一个函数。open()是用于打开或创建文件,可以指定文件的属性及用户权限等参数。所需头文件:<sys/types.h>,<sys/stat.h>,<fcntl.h>函数原型: int open(const char *pathname, flags原创 2017-11-25 15:46:26 · 780 阅读 · 0 评论 -
Linux C 第六章 数学计算函数
第六章 数学计算函数//头文件#include<stdlib.h>#include<math.h>abs :int abs(int j) 返回参数j的绝对值; int answer; answer = abs(-23);acos :double acos(double x) 用来计算x的反余弦值,然后将结果返回, 参数x的范围为[-1,1]之间,超出此范围会失败原创 2017-12-09 09:57:12 · 501 阅读 · 0 评论