C语言
文章平均质量分 77
forge1yc
i can play!
展开
-
#pragma 的几种用法
预编译指令#pragma有很多种用法,我敢保证很多程序员即使是一辈子也不会碰到其中的有些用法,是的,他们的确很偏僻,我们也没有用他们的需求。所以,本文不会面面俱到,只是把几种常用的几种汇总了一下。1. #pragma once保证头文件只被include一次,等同于 #ifndef _X_H #define _X_H...#endif //_X_H2.#pragma comment原形是#prag...转载 2018-06-03 11:27:25 · 1077 阅读 · 0 评论 -
标准C函数库的用法
本篇介绍若干常用的标准C函数的用法,主要介绍stdio(标准输入输出)、math(数字函数库)、time(时间函数库)、stdlib(标准函数库)string(标准字符串函数)等。最后更新 2015-03-17 权利声明:作者拥有本书的全部权利。作者授权任何人都可以自由转载本网站发布的内容,但转载时必须遵守以下限制: ①转载时必须全文转载,不得有任何修改,必须包含“权利声明”和“官网地址” ② 仅...转载 2018-06-14 14:20:53 · 295 阅读 · 0 评论 -
VS2017使用方法 使用C语言写helloworld
首先,要往VS2017中添加 C++方向的工作负载。参考链接:http://blog.csdn.net/qq_39561376/article/details/76058369工作负载安装好后,请参考如下的步骤到这里,所有的步骤都展示完了。希望能帮到大家。有什么其他的问题,可以留言,咱们互相探讨。...转载 2018-06-15 10:30:30 · 6696 阅读 · 1 评论 -
C语言中结构体大小计算即存储分配
C语言中结构体大小计算即存储分配C语言中常用预定义的数据类型:类型: char short int long float double (long double)大小(字节数): gcc3.2.2: 1 2 4 4 4 8 12 Visual C++:1 2 4 4 4 8 8ARM架构...转载 2018-06-01 22:13:49 · 570 阅读 · 0 评论 -
c运行库、c标准库、windows API的区别和联系
c运行库、c标准库、windows API的区别和联系C运行时库函数C运行时库函数是指C语言本身支持的一些基本函数,通常是汇编直接实现的。 API函数API函数是操作系统为方便用户设计应用程序而提供的实现特定功能的函数,API函数也是C语言的函数实现的。区别他们之间区别是:API函数是针对操作系统的,C语言运行时函数则是针对C语言本身的。·1、运行时库就是 C run-time library,...转载 2018-06-29 11:23:16 · 303 阅读 · 0 评论 -
静态库与动态库的区别与优缺点
静态链接文件 目前以lib后缀的库有两种,一种为静态链接库(Static Libary,以下简称“静态库”),另一种为动态连接库(DLL,以下简称“动态库”)的导入库(Import Libary,以下简称“导入库”)。静态库是一个或者多个obj文件的打包,所以有人干脆把从obj文件生成lib的过程称为Archive,即合并到一起。比如你链接一个静态库,如果其中有错,它会准确的找到是哪个obj...转载 2018-06-29 15:34:21 · 22180 阅读 · 3 评论 -
载入时动态链接及运行时动态链接,译自MSDN
载入时动态链接 系统启动一个使用载入时动态链接的程序时,使用连接程序放置的到文件的信息来定位进程所需要的DLL的名称。然后系统将在以下位置顺序搜寻DLL:应用程序载入目录当前目录系统目录。通过GetSystemDirectory 函数可以得到。16位系统目录。没有函数可以获取该目录,但它是被搜索的。Windows Me/98/95: 目录不存在 Windows目录。通过GetWindowsDi...转载 2018-06-29 15:46:29 · 2773 阅读 · 0 评论 -
Altium Designer10覆铜与导线或过孔的间距设置
1.先打开一个PCB文件,在PCB工程界面:设计-规则-electrical-clearance-选中右键-新规则-左键点中新规则 2.右边出现设置框-在上面的“where the first object matches”框下面的高级旁边,点“询问构建器”3.-左边的“条件类型/操作员”点中出现的下拉框选择“object kind is”,在右边的“条件值”选择“poly”然后确定4.设置框右边...转载 2018-06-11 10:19:57 · 1811 阅读 · 0 评论 -
STM32 FSMC 驱动80总线液晶屏的方法的解释
这里先看TFT液晶屏所谓的80时序图:当我们对比之后发现STM32的FSMC的SRAM时序和80总线很相近,也可以套用:在这里只要把地址线当成RS就可以相当于80时序了,具体实现方法是这样的:把A0连接到RS,那么当我对0地址进行读写方式的时候A0将会输出0,这也就相当于命令的读写,当我地1地址进行读写的时候,那就相当于对数据的读写,这样就巧妙的避开了地址的问题,因为液晶是地址数据复用的,我们在代...转载 2018-06-19 22:37:07 · 363 阅读 · 0 评论 -
字符数组和字符串
一、字符数组和字符串的再认识此处关于字符串是否是字符数组的问题,此处我们需要明确:字符数组,完整地说叫字符类型的数组。字符数组不一定是字符串。字符串是最后一个字符为NULL字符的字符数组。字符串一定是字符数组。字符数组的长度是固定的,其中的任何一个字符都可以为NULL字符。字符串只能以NULL结尾,其后的字符便不属于该字符串。strlen()等字符串函数对字符串完全适用,对不是字符串的字符数组不适...转载 2018-06-20 17:38:12 · 1267 阅读 · 0 评论 -
【笔记】在 Windows 中制作 Ubuntu 系统的USB启动盘
【笔记】在 Windows 中制作 Ubuntu 系统的USB启动盘本文只针对 destop 版本。Ubuntu官网中有详细的教程,本文只是做个笔记,以备以后翻看。 有了 Ubuntu 系统的USB启动盘,就可以通过USB启动安装 Ubuntu 系统了。 USB存储空间要 >= 2 GB。★ 1. 下载ubuntu iso目前稳定的长期支持的版本是 Ubuntu 16.04....转载 2018-08-01 20:29:29 · 346 阅读 · 0 评论 -
Altium Designer 覆铜时过孔连接形式的设置——只将过孔连接设置为Direct Connect
Altium Designer 在PCB覆铜时,所有的过孔和焊盘都是十字连接即Relief Connect连接的,没有像PROTEL 99SE一样只有接地的焊盘才是十字连接而过孔是直接连接的。如下图所示:处理问题方法:step1:design>rules>plane>polygon connection stylestep2:new rule>advanced>que...转载 2018-06-07 16:28:54 · 13784 阅读 · 0 评论 -
傅立叶变换与傅立叶反变换的C语言实现
#include <math.h> #include <malloc.h> #define pi (double) 3.14159265359 /*复数的定义*/ typedef struct { double re; double im; }COMPLEX; /*复数的加运算*/ COMPLEX Add(COMPLEX c1, COMP...转载 2018-06-14 13:31:06 · 3214 阅读 · 4 评论 -
STM32 printf半主机模式
转自http://www.stmcu.org/module/forum/thread-598294-1-1.html看了原子哥的usart部分printf函数重定向的问题,自己动手试了试,单片机可以通过串口打印信息,printf函数重定向后使用十分方便。所谓重定向是指修改printf的底层函数,使printf打印到单片机的外设中。还有一个概念是半主机。 半主机是用于 ARM 目标的一种机制,可将...转载 2018-06-03 11:32:48 · 989 阅读 · 0 评论 -
EEPROM的用途简述,在单片机中。
假设有的数据很重要,所以必须找个地方永久保存,以便单片机在断电后又上电时以这个数据为基础继续运行,但是有时根据实际情况会调整这数据的值。所以这数据能保存在Flash中吗?肯定不行,单片机在运行的时候是肯定不能修改Flash中的数据的,这好比是一个人在清醒的时候给自己做心脏的手术,危险度很高!所以可以将这数据保存在EEPROM中,这样断电后不会丢,也可以在根据需要时进行修改。比如让单片机计算Z=A*...原创 2018-06-04 11:11:22 · 8680 阅读 · 0 评论 -
ram flash和eeprom的区别和作用
之前对各种存储器一直不太清楚,今天总结一下。 存储器分为两大类:ram和rom。 ram就不讲了,今天主要讨论rom。 rom最初不能编程,出厂什么内容就永远什么内容,不灵活。后来出现了prom,可以自己写入一次,要是写错了,只能换一片,自认倒霉。人类文明不断进步,终于出现了可多次擦除写入的EPROM,每次擦除要把芯片拿到紫外线上照一下,想一下你往单片机上下了一个程序之后发现有个地方需要加一句话...转载 2018-06-04 13:29:25 · 2996 阅读 · 1 评论 -
在XILINX中差分输入信号到单端信号的转换
在XILINX中差分输入信号到单端信号的转换一 理论基础:1理论:差分传输是一种信号传输技术,区别于传统的一根信号线一根地线的做法,差分传输如图所示,在这两根线上都传输信号,这两个信号的振幅相等,相位相反,在这两根线上的传输的信号就是差分信号。信号的接收端比较这两个电压的差值来判断发送端发送的是0还是1。在电路板上,差分走线必须是等长、等宽、紧密靠近,且在同一层面的两根线。 2好处:1)...转载 2018-06-04 14:19:06 · 17998 阅读 · 4 评论 -
STM32之启动文件详细解析(V3.5.0)
启动文件么,就是进入main函数(其实可以在本文件中改成别的,即替换"_main"为你想改的"_XXXX"即可)之前干的一些事~~~来看看ARM在进入的“领域”之前都为你做了哪些工作~~~[plain] view plain copy;* 文件名 : startup_stm32f10x_hd.s ;* 库版本 : V3.5.0 ;* 说明: ...转载 2018-06-12 22:49:04 · 374 阅读 · 0 评论 -
C语言中字符串和字符数组
字符串概念: C语言中字符串就是用双引号括起来的任意字符序列,在字符串中同时也可以包括转义字符,它是以’\0’为结尾的字符数组 如”helloworld”; char *string = “helloworld”; 字符数组: 用来存放字符的数组,字符数组中每个元素存放一个字符,数组元素的类型为char类型,初始化字符数组的时候最好以’\0’结尾, ‘\0’是结束符号 如:char string ...转载 2018-06-21 08:43:56 · 3468 阅读 · 0 评论 -
关于 strlen 与 sizeof 的区别
关于 strlen 与 sizeof 的区别,我相信很多人都有所了解。以下我总结了几点关于strlen 与 sizeof 的区别和注意事项。1. strlen 是函数,sizeof 是运算符。2. strlen 测量的是字符的实际长度,以'\0' 结束。而sizeof 测量的是字符的分配大小。比如:[cpp] view plain copychar str[20] = "hello"; pr...转载 2018-06-21 11:06:55 · 175 阅读 · 0 评论 -
电源设计中的电容应用实例
电源设计中的电容应用实例电源往往是我们在电路设计过程中最容易忽略的环节。其实,作为一款优秀的设计,电源设计应当是很重要的,它很大程度影响了整个系统的性能和成本。 这里,只介绍一下电路板电源设计中的电容使用情况。这往往又是电源设计中最容易被忽略的地方。很多人搞ARM,搞DSP,搞FPGA,乍一看似乎搞的很高深,但未必有能力为自己的系统提供一套廉价可靠的电源方案。这也是我们国产电子产品功能丰富而性能...转载 2018-06-06 16:56:10 · 298 阅读 · 0 评论 -
汇编语言中常用的伪指令
汇编语言中,指令语句在源程序汇编时会产生可供计算机执行的指令代码,即目标代码。汇编程序除指令语句外,还需要提供一些指令,用于辅助源程序的汇编。比如指定程序或数据存放的起始地址,为数据分配一段连续的内存单元等。这些指令在汇编时并不生成目标代码,不影响程序执行,因此称之为伪指令。本文简单总结了常用的伪指令,如下。1、EQU(Equate)一般格式为: 标号: EQU ...转载 2018-06-13 22:22:06 · 17576 阅读 · 1 评论 -
C语言结构体的对齐原则(转)
作者:阿凡卢出处:http://www.cnblogs.com/luxiaoxun/本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。为了免责!!!! C语言结构体的对齐原则Q:关于结构体的对齐,到底遵循什么原则?A:首先先不讨论结构体按多少字节对齐,先看看只以1字节对齐的情况:...转载 2018-10-05 22:45:18 · 367 阅读 · 0 评论