嵌入式LinuxC培训
alotuscc
你和你的犬色声马,我和我的各安天涯。
千里走单骑,八方为敌。
青灯古佛度苍生,不愿度己。
展开
-
Linux C Socket简单应用
Linux C Socket简单应用简单的socket应用。server代码#include <stdio.h>#include <stdlib.h>#include <strings.h>#include <string.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/in原创 2020-07-14 17:28:50 · 705 阅读 · 0 评论 -
Ubuntu18.04 sqlite3安装及其应用
ubuntu18.04 sqlite3安装及其应用1. 安装sqlite3sudo apt-get install sqlite3sudo apt-get install libsqlite3-dev 2. 安装sqlite3可视化工具sqlitebrowsersudo apt-get install sqlitebrowser3. sqlite3简单应用#include <stdio.h>#include <stdlib.h>#include <sqli原创 2020-07-13 17:35:36 · 6242 阅读 · 0 评论 -
C语言三大标准C89,C99和C11
C89 标准1983 年美国国家标准局(American National Standards Institute,简称 ANSI)成立了一个委员会,专门来制定C语言标准。1989 年C语言标准被批准,被称为 ANSI X3.159-1989 “Programming Language C”。这个版本的C语言标准通常被称为 ANSI C。又由于这个版本是 89 年完成制定的,因此也被称为 C89。C99 标准在 ANSI C 标准确立之后,C语言的规范在很长一段时间内都没有大的变动。1995 年C程序原创 2020-07-07 18:16:21 · 6355 阅读 · 0 评论 -
cmake基础用法总结
简单使用:CMakeLists.txt文件内容如下:cmake_minimum_required(VERSION 2.8)project (hello)add_executable(hello hello.c)注释:这个示例中我们只有一个源文件hello.c,目标是生成一个hello的可执行文件。运行cmake .后生成Makefile文件,. 代表CMakeLists.txt在当前目录下,再make即可生成hello的可执行文件。第一行用于指定cmake最低版本。第二行指定项目名称。原创 2020-07-06 18:28:13 · 419 阅读 · 0 评论 -
Linux下静态库和动态库的生成和使用
静态库的生成和使用:gcc -c code1.c code2.car rcs libxx.a code1.o code2.ogcc -o file file.c -L. -lxx注释:静态库的名称有一定的格式要求,一般是libxx.a,xx为库名。-L指定库文件的路径 ,-L.代表当前目录。-l指定编译时要连接的静态库,-lxx代表库名为xx。动态库的生成和使用:gcc -shared -fPIC -o xx.so xx.cgcc -o file file.c ./xx.so原创 2020-07-06 17:35:33 · 583 阅读 · 0 评论 -
编译器三级优化都干了什么
GNU编译器提供-O选项供程序优化使用:-O 提供基础级别的优化-O2 提供更加高级的代码优化,会占用更长的编译时间-O3 提供最高级的代码优化-O4 不优化,这是默认值第一级:代码调整代码调整是一种局部的思维方式;基本上不触及算法层级;它面向的是代码,而不是问题; 所以:语句调整,用汇编重写、指令调整、换一种语言实现、换一个编译器、循环展开、参数传递优化等都属于这一级;这个级别试图执行9种单独的优化功能:-fdefer-pop-fmerge-constans-fthread-jump原创 2020-07-06 17:11:57 · 432 阅读 · 1 评论 -
嵌入式 linux C 第 1 天
问题1:嵌入式底层开发为什么选择C语言?C语言具有出色的可移植性,能在多种不同体系结构的软/硬件平台上运行。C语言具有简洁紧凑、使用灵活的语法机制,并能直接访问硬件。C语言具有很高的运行效率。参考资料:嵌入式开发为什么选择C语言?问题2:什么是实时性?硬实时?软实时?实时性就是系统的活动是有时限的特性,系统必须在规定的时刻或时间段内活动(如采集数据,做出响应等)硬实时系统有一个刚性的、不可改变的时间限制,它不允许任何超出时限的错误。超时错误会带来损害甚至导致系统失败、或者导致系统不能实现原创 2020-07-03 16:56:04 · 288 阅读 · 0 评论