C语言再学习
文章平均质量分 85
聚优致成
这个作者很懒,什么都没留下…
展开
-
C语言再学习 -- C语言实现 sin 和 cos 功能
C 标准库 - 描述C 库函数 double sin(double x) 返回弧度角 x 的正弦。声明下面是 sin() 函数的声明。参数x – 浮点值,代表了一个以弧度表示的角度。返回值该函数返回 x 的正弦。原创 2023-09-14 15:31:49 · 3531 阅读 · 0 评论 -
C语言再学习 -- DOC命令
下载:DOC命令参看:DOS函数参考手册.chm参看:bat脚本基础教程 之前使用场景:STM32开发 – 自动连接一个未保存过的WIFISTM32开发 – 打开网址测试脚本编写STM32开发 – WIFI那些事儿(一)判断一个文件夹是否存在,不存在则创建原创 2023-03-22 20:19:55 · 644 阅读 · 0 评论 -
C语言再学习 -- C 标准库 - string.h
string .h头文件定义了一个变量类型、一个宏和各种操作字符数组的函数。原创 2023-03-22 13:05:48 · 539 阅读 · 0 评论 -
C语言再学习 -- C 标准库 - stdlib.h
stdlib .h头文件定义了四个变量类型、一些宏和各种通用工具函数。原创 2023-03-22 13:04:10 · 634 阅读 · 0 评论 -
C语言再学习 -- C 标准库 - stdio.h
stdio .h头文件定义了三个变量类型、一些宏和各种函数来执行输入和输出。原创 2023-03-22 13:02:17 · 634 阅读 · 0 评论 -
C语言再学习 -- C 标准库 - math.h
math.h头文件定义了各种数学函数和一个宏。在这个库中所有可用的功能都带有一个double类型的参数,且都返回double类型的结果。原创 2023-03-22 12:45:14 · 510 阅读 · 0 评论 -
C语言再学习 -- 巧妙注释掉所有printf
【代码】C语言再学习 -- 巧妙注释掉所有printf。原创 2023-03-21 18:26:11 · 385 阅读 · 0 评论 -
C语言再学习 -- abs、fabs、fabsf函数的用法区别
A是小数部分的最高位( the most significant bit of the significand),其取值表示了NaN的类型:X不能全为0,并被称为NaN的payload;在浮点数运算中,NaN与无穷大的概念不同,尽管两者均是以浮点数表示实数时的特殊值。NaN(NotaNumber,非数)是计算机科学中数值数据类型的一类值,表示未定义或不可表示的值。函数的abs()类返回它们的整数操作数val的绝对值,返回相同的类型。函数的作用是:计算浮点数x的绝对值。函数的作用是:返回x的绝对值。原创 2023-03-21 18:11:00 · 2827 阅读 · 0 评论 -
C语言再学习 -- __attribute__详解
_____attribute______是一个编译属性,用于向编译器描述特殊的标识、错误检查或高级优化。它是GNU C特色之一,系统中有许多地方使用到。______attribute______可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)等。原创 2023-03-07 20:13:17 · 10781 阅读 · 0 评论 -
嵌入式面试知识点总结 -- C语言篇
之前有写过 日常生活 – 嵌入式面试 ,讲了面试大部分都会问哪些问题。也有自己总结了一些面试题:C语言再学习 – 详解C++/C 面试题 1C语言再学习 – 详解C++/C 面试题 2但是每次我都要翻好几篇文章按着看知识点,这就很烦了。现在将所用到的知识点在这篇文章内加以总结。...原创 2021-04-15 09:49:47 · 5977 阅读 · 3 评论 -
C语言再学习 -- Stack Overflow(堆栈溢出)
参看:Stack Overflow(堆栈溢出)Visual Studio执行出现Stack Overflow,该怎么处理呢?一、产生原因Stack Overflow(堆栈溢出)是程序调试中比较麻烦的一种错误。但总结一下,引起这种错误的原因大致就是两种:变量申请大空间内存。递归。二、解决方法原因一: 局部数组变量空间太大解决这类问题的办法有两个,一是增大栈空间(后文中有详细描述),二是改用动态分配,使用堆(heap)而不是栈(stack)。解决方法 1增大栈空间修改 属性->原创 2020-10-17 18:51:39 · 16070 阅读 · 1 评论 -
C语言再学习 -- 创建excel文件
参看:C语言操作Excel表格上一篇文章讲了一下 cJSON,可以生成json文件了。这篇文章讲一下怎么生成excel表xsl格式文件。注意点:1、文件类型为 xls 或者 xlsx2、使用fprintf写入3、了解转义字符参看:C语言再学习 – 转义字符示例:uint32_t Create_Excel (void){ FILE* fp_txt = NULL; fp_txt = fopen("C:\\Users\\Administrator\\Desktop\\res.xls", "原创 2020-10-17 13:33:08 · 3829 阅读 · 3 评论 -
解决 Ubuntu 无法更新软件问题
有时会遇到能 ping 通外网,但是无法更新软件的情况。如: 正在读取软件包列表... 有错误!??解决方法如下:sudo apt-get cleancd /var/lib/aptsudo mv lists lists.old找一台正常的电脑 拷贝里面的 lists 到这sudo mkdir -p lists/partialsudo apt-ge原创 2016-02-23 16:06:16 · 3868 阅读 · 0 评论 -
ifconfig 详解
ifconfig命令被用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。语法 ifconfig(参数)ifconfig(参数)参数add:设置网络设备IPv6的ip地址; del:删除网络设备IPv6的IP地址; down:关闭指定的网络设备;:设置网络设备转载 2016-02-29 19:26:41 · 11127 阅读 · 0 评论 -
obj-y和obj-m 的区别
obj-y +=xxx.o该模块编译到zImageobj-m +=xxx.o该模块不会编译到zImage 但会生成一个独立的xxx.ko 静态编译原创 2016-03-02 15:32:16 · 16604 阅读 · 0 评论 -
基于TCP协议的通信模型
服务器端(1)创建socket,使用socket函数(2)准备通信地址,使用结构体类型(3)绑定socket和通信地址,使用bind函数(4)进行监听,使用listen函数(5)响应客户端的连接请求,使用accept函数(6)进行通信,使用read/write函数(7)关闭socket,使用close函数例子://基于socket的本地通信#in原创 2016-03-10 17:28:19 · 1048 阅读 · 1 评论 -
linux内核printk调试
linux内核printk调试(摘录《Linux安全体系分析与编程》)1 printk及控制台的日志级别函数printk的使用方法和printf相似,用于内核打印消息。printk根据日志级别(loglevel)对消息进行分类。日志级别用宏定义,日志级别宏展开为一个字符串,在编译时由预处理器将它和消息文本拼接成一个字符串,因此printk 函数中日志级别宏和格式字符串间不能有转载 2016-05-05 14:16:52 · 2734 阅读 · 1 评论 -
内核中的kmalloc函数详解
一、kmalloc函数详解 #include void *kmalloc(size_t size, int flags);给 kmalloc 的第一个参数是要分配的块的大小. 第 2 个参数, 分配标志, 非常有趣, 因为它以几个方式控制 kmalloc 的行为.最一般使用的标志, GFP_KERNEL, 意思是这个分配((内部最终通过调用 __get_free_pages 来进转载 2016-05-05 15:02:41 · 2037 阅读 · 0 评论 -
df 和 du 命令详解
df命令详细用法 a:显示全部的档案系统和各分割区的磁盘使用情形 i:显示i -nodes的使用量 k:大小用k来表示 (默认值) t:显示某一个档案系统的所有分割区磁盘使用量 x:显示不是某一个档案系统的所有分割区磁盘使用量 T:显示每个分割区所属的档案系统名称 常用命令:df -hi 操作详解 引用 指令 df 可以显示目前所有档案系统的最大转载 2016-04-26 11:03:00 · 1397 阅读 · 0 评论 -
linux下启动和关闭网卡命令
ifup、ifdown:linux命令 实时地手动修改一些网络接口参数,可以利用ifconfig来实现,如果是要直接以配置文件,亦即是在 /etc/sysconfig/network-scripts里面的ifcfg-ethx等文件的设置参数来启动的话,那就得要通过ifdown或ifup来实现了。 [root@linux ~]# ifup {interfa转载 2016-05-30 18:42:28 · 2558 阅读 · 0 评论 -
flash_erase and flash_eraseall
使用命令前用cat /proc/mtd 查看一下mtdchar字符设备;或者用ls -l /dev/mtd*#cat /proc/mtddev: size erasesize namemtd0: 00c00000 00020000 “ROOTFS”mtd1: 00200000 00020000 “BOOTLOADER”mtd2: 00200000 00020000转载 2016-07-13 14:36:19 · 18385 阅读 · 1 评论 -
文件为只读模式,且无法更改权限
/etc/resolv.conf 为只读模式使用chmod 777 resolv.conf 会报如下的错:chmod: changing permissions of `/etc/resolv.conf': Operation not permitted用 chattr 可以解除这个限制首先先查看一下属性sudo lsattr /etc/resolv.原创 2016-07-05 17:21:26 · 25954 阅读 · 0 评论 -
u-boot Makefile完全解读
编译u-boot的步骤:#make XX_config XX表示某个cpu体系#make 生成我们需要的u-boot.bin具体可参考u-boot文件中的README。1.设置版本VERSION = 2010PATCHLEVEL = 06SUBLEVEL =EXTRAVERSION = -rc1ifneq "$(SUBLEVEL)" ""U_转载 2016-06-20 17:00:18 · 3062 阅读 · 0 评论 -
Linux系统调用及用户编程接口(API)学习
Linux系统调用 系统调用指操作系统提供给用户程序调用的一组“特殊”接口,用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务。 为什么用户程序不能直接访问系统内核提供的服务呢?这是由于在Linux中,为了更好地保护内核空间,将程序的运行空间分为用户空间和内核空间(也就是常称的用户态和内核态),它们分别运行在不同的级别上,逻辑上是相互分离的。因此,用户进程通常转载 2016-08-16 15:49:28 · 1631 阅读 · 0 评论 -
Linux下的make命令使用心得
本文译至:http://d.hatena.ne.jp/embedded/20140829/p1为了使make命令执行并行处理,-j 选项可以用来指定作业数。$ make -j4 作业数是在编译的时候指定主机的CPU个数,所以在脚本中写成一个常量很糟糕。(特别是把编译脚本给其他人的时候。)并行处理的作业数和编译的效率直接相关,所以需要设置合适的作业数量。昨天的文章中在转载 2016-07-12 10:26:48 · 25182 阅读 · 0 评论 -
C语言再学习 -- 随机数函数
#include rand ()函数:可以用来获得一个随机数#include srand ()函数:可以用来设置随机数的种子#include time ()函数:可以返回系统时间/* 1--100 rand()%100+1 随机数 输入一个数字 与随机数比较 猜大了 猜小了 猜对了 */#include #include #include原创 2016-11-07 12:29:27 · 2104 阅读 · 1 评论 -
C语言再学习 -- 负数
计算机中的负数是以其补码形式存在的 补码=原码取反+1一个字节有8位 可以表示的数值范围在 -128到+127用二进制表示也就是 10000000 - 01111111(注意:最高位表示符号)最高位是1的都是负数 最高位是0的都是正数二进制数是逢二进一 只有0和1两个数字 没有2如-7 原码是 10000111 然后取反(最高位是符合不用取反)得11111000加一 得原创 2016-11-04 11:22:12 · 13736 阅读 · 2 评论 -
C语言再学习 -- ctype.h字符判断函数
参看:ctype.h 百度百科ctype.h是C标准函数库中的头文件,定义了一批C语言字符分类函数(C character classification functions),用于测试字符是否属于特定的字符类别,如字母字符、控制字符等等。既支持单字节(Byte)字符,也支持宽字符。 ctype.h里的函数概况1 字符测试函数1> 函数原型均为int isxxx原创 2016-08-25 11:25:02 · 3701 阅读 · 0 评论 -
C语言再学习 -- 浮点数
参考:你应该知道的浮点数基础知识一个有趣的实验本文从一个有趣而诡异的实验开始。最早这个例子博主是从 Stackoverflow上的一个问题中看到的。为了提高可读性,博主这里做了改写,简化成了以下两段代码:C++1234567891011121314151617#i原创 2016-08-22 14:25:52 · 2724 阅读 · 0 评论 -
C语言再学习 -- 标识符
可供使用的字符有小写的字母、大写的字母、数字和下划线(_)。第一个字符必须是字母或者下划线。原创 2016-08-22 10:16:00 · 1477 阅读 · 0 评论 -
C语言再学习 -- 声明与定义
什么是定义?什么是声明?它们有何区别?举个例子:A)int i;B)extern int i; (关于 extern,后面解释)哪个是定义?哪个是声明?或者都是定义或者都是声明?我所教过的学生几乎没有一人能回答上这个问题。这个十分重要的概念在大学里从来没有被提起过!什么是定义:所谓的定义就是(编译器)创建一个对象,为这个对象分配一块内存并给它取上一个名字,这个名字就是我原创 2016-08-22 10:12:13 · 1765 阅读 · 1 评论 -
C语言再学习 -- 文件
一、文件是什么一个文件(file)通常就是磁盘上的一段命名的存储区。C 将文件看成是连续的字节序列,其中每一个字节都可以单独地读取。1、标准文件C 程序自动打开3个文件。这3个文件被称为标准输入,标准输出和标准错误输出。默认的标准输入是系统的一般输入设备,通常为键盘;默认的标准输出和标准错误输出是系统的一般输出设备,通常为显示器。原创 2016-11-09 10:32:32 · 2549 阅读 · 0 评论 -
C语言再学习 -- Ubuntu 12.04 root用户登录设置
参看:Ubuntu 12.04 root用户登录设置ubuntu12.04默认是不允许root登录的,在登录窗口只能看到普通用户和访客登录。以普通身份登陆Ubuntu后我们需要做一些修改,普通用户登录后,修改系统配置文件需要切换到超级用户模式,在终端窗口里面输入:sudo -s.然后输入普通用户登陆的密码,回车即可进入 root用户权限模式。然后执行: vi /etc/lig原创 2016-11-26 12:04:31 · 1146 阅读 · 0 评论 -
C语言再学习 -- 分支与跳转语句
一、if语句形式1:if (逻辑表达式)执行语句如果逻辑表达式为真,则执行执行语句形式2:if (逻辑表达式)执行语句1else执行语句2如果逻辑表示是为真则执行执行语句1,否则执行执行语句2形式3:if (逻辑表达式1)执行语句1else if (逻辑表达式2)执行语句2else执行语句3如果逻辑表达式1为真,则自行原创 2016-08-25 15:30:27 · 2438 阅读 · 0 评论 -
C语言再学习 -- Linux下find命令用法
参看:linux下find(文件查找)命令的用法总结linux下查找文件的命令有两个:locate 和 find首先说一下locate:这个命名是对其生成的数据库进行遍历(生成数据库的命令:uodatedb),这一特性决定了用locate查找文件速度很快,但是locate命令只能对文件进行模糊匹配,在精度上来说差了点,简单介绍下它的两个选项:#locat-i查找文件的时原创 2016-11-24 16:45:48 · 3991 阅读 · 0 评论 -
C语言再学习 -- Xargs用法详解
方法原创 2016-11-25 10:46:16 · 2363 阅读 · 0 评论 -
C语言再学习 -- vim常用快捷键(转)
参看:【Linux】vim常用快捷键Linux中vim编辑器的功能非常强大,许多常用快捷键用起来非常方便,这里将我学vim入门时学的一些常用的快捷键分享给大家一下,希望可以帮助你们。这个是我将鸟哥书上的进行了一下整理的,希望不要涉及到版权问题。1、一般模式下可用的快捷键:光标移动、复制粘贴、搜寻取代等原创 2016-11-25 16:21:40 · 1890 阅读 · 0 评论 -
C语言再学习 -- Linux 中常用基本命令
参看:Ubuntu常用命令大全参看:Ubuntu 常用快捷键一、文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件) ls -a 列出当前目录文件(包括隐含文件) ls -l 列出当前目录下文件的详细信息 cd .. 回当前目录的上一级目录 cd - 回上一次所在的目录 cd ~ 或 cd 回当前用户的宿主目录 mkdir 目录名 创建一个目录原创 2016-11-24 16:04:22 · 3397 阅读 · 0 评论 -
C语言再学习 -- 关闭/启动
关机/重启机器shutdown -r 关机重启 -h 关机不重启now 立刻关机halt 关机reboot 重启关闭/启用防火墙:sudo ufw enable 启用sudo ufw disable 关闭sudo ufw status 查看状态关闭原创 2016-11-25 16:22:42 · 799 阅读 · 0 评论 -
C语言再学习 -- 转义字符
字符表编辑所有的转义字符和所对应的意义:转义字符意义ASCII码值(十进制)\a响铃(BEL)007\b退格(BS) ,将当前位置移到前一列008\f换页(FF),将当前位置移到下原创 2016-08-22 14:03:25 · 1543 阅读 · 0 评论