C语言基础
文章平均质量分 75
跑不了的你
本人懒···就是懒···但是愿意学习,欢迎互相交流,共同进步,可以加qq490165508以及VX 18334728131 大家一起学习,一起进步。
展开
-
VScode 编译器配置IDE环境(C/C++/Go)
VScode 编译器配置IDE环境(C/C++/Go)摘要VS Code 下载安装下载安装简单使用WindowsLinuxIDE 环境配置C/C++C/C++ 编译器安装及配置简单使用 VS Code 终端进行编译和运行方式使用code runner插件:Go总结摘要对于 VS Code 的使用,我本人感觉这个编译器还是很好用的,而且目前能够支持在 Windows、Linux、MacOs 上流畅运行,并且官方已经提供了 X86、ARM等主流架构版本,还很容易通过安装插件就能过实现基于 SSH 的远程代原创 2021-09-11 15:52:14 · 5961 阅读 · 1 评论 -
C语言调用C++实现的库函数方法
C语言调用C++实现的库函数方法Linux 平台Windows 平台在 C 语言代码工程中经常会用到其他高级语言生成的动态、静态库函数,对于这种情况就需要进行特别处理。本文针对 C++ 实现的一系列库函数在 C 语言代码中的调用方式进行研究说明。Linux 平台首先,需要在库函数的头文件中使用 extern C 进行函数声明,使得 C 语言在包含头文件的时候也能够获得函数声明。具体如下:自定义实现一个 C++ 打印函数,源代码:#include "myprint.h"#include <i原创 2021-08-08 21:34:59 · 2720 阅读 · 0 评论 -
软件设计——模块管理
这篇文章内容采自李云大牛编写的著作《专业嵌入式软件开发 全面走向高质高效编程》一书中的第14章内容。我看后根据自己在实际项目中遇到的情况感觉这一章内容对于程序设计及开发尤其重要,并且对于软件后期的正规维护都有很重要的参考价值,所以特地摘抄记录下来以供大家参考。原创 2020-02-28 10:02:12 · 3658 阅读 · 1 评论 -
web/http服务器实现
文章目录项目开发流程程序编码项目实例项目开发流程需求分析:实现基本的HTTP服务器,支持浏览器的访问(支持标准http协议)接收浏览器发送HTTP请求;解析请求数据,请求方式(GET),请求文件(html…),协议版本;根据请求构建响应头,发送响应头:HTTP/1.1 200 OkHTTP/1.1 404 File not found根据请求文件,从服务器目录中获取对...原创 2020-02-08 14:18:45 · 10110 阅读 · 0 评论 -
linux基础——线程
文章目录线程基础线程基础原创 2020-02-07 18:47:05 · 554 阅读 · 0 评论 -
linux基础——网络基础
文章目录网络基础网络中使用到的三种设备IP地址和IP地址的分类数据在局域网中如何传输数据跨网段传输基于TCP的网络编程网络基础所有的网络编程都是基于客户端和服务端的架构网络协议也就是规则。水晶头大小及网卡接线都是遵守的一种电气协议,而以太网卡、令牌环网卡则都是遵守一种逻辑协议。网络通讯采用的协议是TCP/IP协议簇。分别有:osi七层模型TCP/IP协议分为四层或者五层:应...原创 2020-02-07 10:00:48 · 694 阅读 · 0 评论 -
linux基础——IPC进程间通信
文章目录IPC进程间通讯消息队列向消息队列发送消息和接收消息代码示例共享内存代码示例信号量集代码示例IPC进程间通讯使用命令ipcs可以查看IPC的对象。ftok#include <sys/types.h>#include <sys/ipc.h>key_t ftok(const char *pathname, int proj_id);功能:转换pathn...原创 2020-02-06 20:44:54 · 612 阅读 · 0 评论 -
linux基础——信号阻塞及未决信号
文章目录信号阻塞和未决信号信号集相关API函数操作流程代码示例未决信号代码示例pause的使用代码示例信号传送处理过程可重入函数代码示例信号处理函数的继承代码示例setitimer实现定时器代码示例信号阻塞和未决信号进程可以设置对某个信号的阻塞(屏蔽),需要用到sigset_t(信号集)数据类型。信号集相关API函数sigemptyset(3)#include <signal.h...原创 2020-02-06 11:08:13 · 895 阅读 · 0 评论 -
linux基础——使用C程序访问环境变量及进程通信(管道)
文章目录使用C程序访问环境变量相关API函数代码示例文件输入重定向代码示例管道无名管道代码示例小结有名管道代码示例补充信号相关API函数代码示例信号的产生mykill代码示例使用C程序访问环境变量系统提供了一个全局变量extern char **environ;使用全局变量environ将所有的环境变量输出。相关API函数getenv(3)#include <stdlib....原创 2020-02-06 10:19:59 · 1018 阅读 · 0 评论 -
linux基础——进程的退出及资源回收
文章目录进程的退出returen 和 exit代码示例注册进程结束调用函数代码示例(on_exit):atexit代码示例(atexit)进程资源的回收代码示例wait回收进程资源代码示例waitpid代码示例给指定进程发送信号(kill)僵尸进程代码示例在进程的虚拟地址空间加载新的映像代码示例使用system启动新的可执行程序代码示例进程的退出returen 和 exitreturn只是...原创 2020-02-05 22:05:41 · 5375 阅读 · 0 评论 -
linux下文件、文件夹相关操作(C语言)
linux下文件夹操作 相关API函数 opendir(3) closedir(3) readdir(3) 代码示例: 文件重定向的实现原理 相关API函数 dup(2) dup2(2) 代码示例 文件锁 相关使用方式 代码示例 库函数和系统调原创 2020-02-05 09:04:55 · 2276 阅读 · 0 评论 -
C语言基础——字符串操作
文章目录字符串操作字符串操作函数strlen 函数strcat 函数strncat 函数strcmp 函数strncmp 函数strcpy 函数strncpy 函数memset 函数strstr 函数sprintf 函数sscanf 函数字符串操作在C程序中使用字符串,不可以使用操作符来操作字符串,应该使用一组标准函数,C标准库中有对于使用字符串操作的一组函数(需要包含头文件string.h...原创 2020-01-14 21:06:01 · 1001 阅读 · 0 评论 -
linux和Windows平台下获取时间戳方式
文章目录获取时间间隔方式:API说明Windows平台下使用 GetLocalTimelinux平台下使用 gettimeofday代码示例获取时间间隔方式:API说明Windows平台下使用 GetLocalTimeVOID GetLocalTime( LPSYSTEMTIME lpSystemTime //address of system times structure);...原创 2020-01-10 11:30:36 · 1677 阅读 · 0 评论 -
C基础——使用printf打印各种数据类型的方式(示例)
1.转换说明符 2.特殊标志 3.格式字符串(格式) printf的格式控制的完整格式: 格式字符 关于printf函数的进一步说明: 补充(经常使用的方式):原创 2019-12-19 11:34:15 · 39588 阅读 · 3 评论 -
Linux网络编程
Linux网络编程TCP/IP与OSI网络互联促成了TCP/IP协议的产生:TCP协议分成两个不同的协议:用来检测网络传输差错的传输控制协议TCP专门负责对不同网络进行互联的互联网协议IP从此,TCP/IP协议产生。网络体系结构:网络采用分而治之的方法设计,将网络的功能划分成不同的模块,以分层的形式有机组合在一起。每层实现不同的功能,其内部实现方法对外部其他层次来说都...原创 2019-11-03 22:55:35 · 626 阅读 · 0 评论 -
C语言基础实例——《使用回调函数》
回调函数设计##回调函数——宏定义使用#include <stdio.h>#include <stdlib.h>typedef struct ase_msg ase_msg_t;struct ase_msg{ int num; float high;  ...原创 2019-11-03 22:54:56 · 427 阅读 · 0 评论 -
Sqlit(数据库)学习
数据库数据能够输入计算机并能被计算机程序识别和处理的信息集合。数据库数据库是在数据库管理系统管理和控制之下,存放在存储介质上的数据集合。常用数据库Oracle关系数据库产品目前市场占有率名列前茅。server是微软开发的数据库,主要支持Windows平台。MySQL是一个小型数据库,开发者为瑞典MySQL公司,是一款开源数据库。基于嵌入式的数据库基于嵌入式Linu...原创 2019-11-03 22:54:09 · 635 阅读 · 0 评论 -
C语言中 attribute 的意义,添加#pragma pack(1)的使用。
C语言中 attribute 的意义GNU C 的一大特色就是__attribute__机制。__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)。__attribute__书写特征是:__attribute__前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应...原创 2019-11-03 22:53:37 · 1189 阅读 · 0 评论 -
C语言基础——(5)while循环、数组的介绍
补充 无法预知的数字叫做随机数;rand标准函数可以用来获得随机数。为了使用这个标准函数需要包含stdlib.h头文件。 例如打印随机数:#include<stdio.h>#include<stdlib.h>int main(){ printf("%d\n", rand()); printf("%d\n", rand()); prin...原创 2018-07-23 21:50:27 · 14439 阅读 · 0 评论 -
Linux 下的Vi工具学习
vi是Linux系统中用来记录文字信息的工具;vi只能在终端窗口中就行使用(也就是说只能使用键盘而不能sh使用鼠标进行cao操作);vi的功能分为三组,任何时候都只能使用其中的一组功能,vi里包含三种工作模式,而这三种工作模式,每一种模式都对应于一组功能,这三种工作模式分别是正常模式、插入模式和命令模式: 正常模式下可以执行简单命令; 插入模式下可以修改文字内容...原创 2018-07-18 22:34:12 · 1533 阅读 · 0 评论 -
C语言基础——(1)
学习C语言,首先应该对C代码的构成有一定了解:C语言程序的绝大部分内容应该记录在以.c作为后缀扩展名的文件内,这种文件叫做C语言的源文件。C语言里还包括以.h作为后缀扩展名的wenj文件,这种文件叫做头文件。简单知识: C语言程序中可以直接使用数字和加减乘除符号(*代表乘法,/代表除法) C语言中的每个语句步骤后都必须以分号(;)进行结尾,使用分号结束的步骤就叫...原创 2018-07-19 21:37:41 · 793 阅读 · 0 评论 -
C语言基础——(6)数组、变长数组、多维数组
数组之前在说数据类型的时候就提到了数组,这里重点细说一下。数组名称不可以代表存储区,数组名称可以代表数组里第一个存储区的地址,也可以这么理解:数组的名称是一个指向数组第一个存储区的指针。 但是可以对数组名称做sizeof计算,得到的是数组一共包含的字节个数。 例如:#include <stdio.h>int main(){ int arr[5] = {0};...原创 2018-07-25 22:05:38 · 10718 阅读 · 0 评论 -
C语言基础——(7)函数
函数C语言里可以采用分组方式管理语句,每个语句分组叫做一个函数。多函数程序执行模式:1、整个程序的执行时间被分成几段,不同时间段被分配给不同函数使用。 2、所有时间段之间不能重叠,并且是连续的。 3、如果函数A在工作过程中把一段分配给函数B使用则函数B完成工作后必须把后面的时间还给函数A。如果函数A在工作过程中把一段时间分配给函数B,则它们之间存在函数调用关系。在这个函数调...原创 2018-07-28 23:08:03 · 852 阅读 · 0 评论 -
C语言基础——(2)数据类型
C语言中的数据类型C语言中的数据类型:charchar:字符类型的名称是char,这个类型里包含256个不同的整数,每个整数都可以代表一个字符(例如’^’,’4’,’v’等等);这些整数和字符是完全可以互相替代的,ASCII码表里列出了所以的整数和字符之间的对应关系。 字符 十进制数 ‘A’ 65 ‘0’ 48ASCII码表里所有小写...原创 2018-07-20 20:47:46 · 721 阅读 · 0 评论 -
C语言基础——(3)进制表示、操作符介绍
计算机数据进制的变换二进制二进制表示其实就是在计算机中真实保存的数据状态,一个字节分成八段,每段可以用来记录一个0 或者1,要想把一个数字记录在一个字节里必须首先把这个数字拆分成八个0或者1,采用一组0或者1表示数字的方法叫做二进制 任何数字都可以采用十进制方式表示也可以采用 二进制方式表示 计算机里只能用二进制方式记录数字 二进制中每个数位有一个编号,最右边数位的 ...原创 2018-07-22 00:40:45 · 1169 阅读 · 0 评论 -
C语言基础——(4)for循环语句、if 分支语句
数据类型的转换如果一个表达式里的数字类型不同就必须首先把这些数字转换成同一个类型然后再进行计算。 这个转换过程就叫做隐式类型转换,完全由计算机完成。隐式类型转换过程中一定把占地小的类型转换成占地大的类型。如果不同数字的类型占空间大小一样就把整数类型转换成浮点类型,把有符号类型转换成无符号类型。C语言中可以临时给数字任意指定类型,这叫做强制类型转换: 强制类型转换的格式如下: (cha...原创 2018-07-22 09:01:56 · 5902 阅读 · 0 评论 -
跑哥教你掌握C语言指针最根本的问题
指针原创 2018-07-31 23:37:44 · 493 阅读 · 0 评论 -
linux下封装函数库——动态库.so和静态库.a(代码实现及链接方式)
在linux环境下的链接库分为静态链接库(.a库)和动态链接库(.so库),其作用是把C程序编译好做成一种可执行链接文件,主程序文件调用这些程序的函数接口是可以使用a库或so库,在主程序中只需要include含有库中提供的函数接口声明的头文件即可。所以学会如何将自己的源代码封装成库进行使用很重要,接下来就来介绍一下然后进行库的封装: 1、动态链接库的制作: 首先,生成一个简单的函数实现myma...原创 2018-09-16 10:10:41 · 10304 阅读 · 1 评论 -
sizeof 与strlen的区别与联系
Sizeof与Strlen的区别与联系1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。该类型保证能容纳实现所建立的最大对象的字节大小。2.sizeof是算符,strlen是函数。3.sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以''\0''结尾的。sizeof还可以用函数做参数,比如:sh...原创 2018-07-17 23:52:33 · 364 阅读 · 0 评论