C编程
文章平均质量分 72
zhoucoolqi
[Stay hungry,Stay foolish]
[Stay Healthy, Stay Safe]
展开
-
Static 和 const
static关键字至少有下列n个作用: (1)函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值; (2)在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问; (3)在模块内的static函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在声明它转载 2012-09-11 22:03:28 · 383 阅读 · 0 评论 -
可重入函数
转自:http://hi.baidu.com/zengzhaonong/item/f82e6317610bff731009b551主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误;而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被中断的原创 2012-10-01 11:40:21 · 734 阅读 · 0 评论 -
signal函数来自《C陷阱与缺陷》
转自:http://guoznhua.blog.tianya.cnsignal函数:void (*signal(int,void(*)(int))(int); 这个例子来自《C陷阱与缺陷》…… signal函数是著名的信号函数,但是它的定义却非常的复杂…… 任何C变量,都是由“类型”+“表达式”组成,它表示,对“表达式”求值,返回的类型,是声明给定的“转载 2012-10-02 11:57:48 · 1064 阅读 · 0 评论 -
Linux编程之路
本文摘自:http://blog.tianya.cn/blogger/post_read.asp?BlogID=396564&PostID=13270347 建议学习路径:首先先学学编辑器,vim, emacs什么的都行。然后学make file文件,只要知道一点就行,这样就可以准备编程序了。然后看看《C程序设计语言》K&R,这样呢,基本上就可以进行一般的编程了,顺便找本 数据结构的书转载 2012-10-02 14:29:03 · 634 阅读 · 0 评论 -
typedef void (*Fun) (void)
int i; 定义了一个int类型的变量i; 而这样 typedef INT int; 表示用户自己定义了一个整型数据类型INT,实际上就等同于int 所以:INT ii; 同上,表示定义了一个int类型的变量ii; 同样的: void (*pFn)(void) 定义了一个函数指针,该函数指针指向 类似于 void Foo(v转载 2012-10-02 11:32:17 · 418 阅读 · 0 评论 -
浅谈Simulink/StateFlow建模
浅谈Simulink/StateFlow建模 在汽车、工业控制、航空航天等行业,系统与软件开发中,基于模型的设计(Model based Design,简称MBD)逐步在替代传统的手工代码开发方式,在MBD领域,Matlab/Simulink作为通用化的建模与代码生成工具及其相关配套的工具链经过多年的积累,已经在国内外以上行业中被应用到产品的开发中。 在笔者所处的行业原创 2017-07-18 22:10:02 · 4815 阅读 · 1 评论 -
智能仓储机器人仿真建模总结
参考亚马逊Kiva的原理,分别做了分拣和拣选两种机器人的仿真,做简要总结原创 2017-10-08 22:38:42 · 3756 阅读 · 18 评论 -
100 条经典C语言笔试题目(转)
本文转自:https://blog.csdn.net/yanghonker/article/details/40118615100 条经典C语言笔试题目题目来源:1、中兴、华为、慧通、英华达、微软亚洲技术中心等中外企业面试题目;2、C 语言面试宝典(林锐《高质量编程第三版》)。说明:1、部分C 语言面试题中可能会参杂部分和C++ 相关的知识,为了保持题目的灵活性故保留,但选题最终还是会以C 语言题...转载 2018-05-04 22:17:41 · 1089 阅读 · 0 评论 -
请实现一个函数用来匹配包括'.'和'*'的正则表达式
请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配#include "stdafx.h"#include<iostream&转载 2018-05-26 18:32:37 · 2448 阅读 · 0 评论 -
转载——ioread32函数有关知识
本文转自:https://blog.csdn.net/o0o0o0D/article/details/5293793586体系和ARM体系的寻址方式是有差别的:在x86下,为了能够满足CPU高速地运行,内存与CPU之间通过北桥相连并通过地址方式访问,而外设通过南桥与CPU相连并通过端口访问。在ARM下也实现了类似的操作,通过两条不同的总线(AHBBUS和APBBUS)来连接不同访问速度...转载 2018-09-02 11:16:27 · 8878 阅读 · 1 评论 -
转载 : pci_dma_sync_single_for_cpu到底同步的是什么?
看了Documentation/DMA-mapping.txt这篇文档还是没明白,可能是e文太差了。。 albcamus 回复于:2008-03-28 16:51:13引用:原帖由 smalloc 于 2008-3-28 16:22 发表 [url=http://linux.chinaunix.net/bbs/redirect.php?goto=findpost&pid=6536...转载 2018-09-02 11:24:44 · 4042 阅读 · 0 评论 -
QOS——AC
* **QOS——AC**```ccli"WMM_AC_STATUS""WMM_AC_ADDTS "supplicant// wpa_supplicant\ctrl_iface.c wpa_supplicant\wmm_ac.c wpa_supplicant_ctrl_iface_process wpa_supplicant\ctrl_iface.c w...原创 2018-09-02 22:16:29 · 503 阅读 · 0 评论 -
C++之STL总结精华笔记 (转)
本位转自https://www.cnblogs.com/yejianyong/p/7137998.html 一、一般介绍 STL(StandardTemplate Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。它被容纳于C++标准程序库(C++Standard Library...转载 2018-11-25 21:57:52 · 234 阅读 · 0 评论 -
C++ STL 尝试学习与应用(1)
STL是C++的精华之一,也是各项c++特性的集成者,熟练应用STL是熟悉C++编程的基础,自己在理解STL的基础上在VS下小试了一把:#include "stdafx.h"//#include"stdio.h"#include <stdio.h>#include <iostream> //#include <iostream.h> differen...原创 2018-11-25 22:32:52 · 228 阅读 · 1 评论 -
Linux 实用工具——Tree 命令,文件目录列表
Linux 实用工具——Tree 命令,文件目录列表简介安装格式举例显示全部层级的目录和文件显示指定层级的目录和文件显示目录/文件地址仅显示目录不显示文件区分目录和文件不显示目录树中的层级线显示XML格式保存内容总结简介浏览他人技术博客的时候,会看到用文本列出漂亮的文件夹目录,实际大部分都是使用了Linux下的Tree命令。以下简单介绍下Tree命令的格式和例子。安装一般Linux系统是不...原创 2019-07-13 22:39:36 · 329 阅读 · 0 评论 -
c 预编译
在将一个C源程序转换为可执行程序的过程中, 编译预处理是最初的步骤. 这一步骤是由预处理器(preprocessor)来完成的. 在源流程序被编译器处理之前, 预处理器首先对源程序中的"宏(macro)"进行处理.C 初学者可能对预处理器没什么概念, 这是情有可原的: 一般的C编译器都将预处理, 汇编, 编译, 连接过程集成到一起了. 编译预处理往往在后台运行. 在有的C编译器中, 这些过转载 2012-09-11 22:00:41 · 881 阅读 · 0 评论 -
字节对齐
本文转自:http://bbs.ednchina.com/BLOG_ARTICLE_92132.HTM一、什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一转载 2012-09-09 18:21:36 · 646 阅读 · 0 评论 -
程序员面试宝典中的一个错误 char * b=(char *)&a
本文转自:http://www.cppblog.com/wuzimian/archive/2012/05/23/175925.aspx1 #include 2 using namespace std; 3 int main() 4 { 5 unsigned int a = 0xFFFFFFF7; 6 unsigned char i = (unsign原创 2012-08-27 15:43:33 · 6852 阅读 · 6 评论 -
C 程序局部变量压栈出栈的理解
写这篇总结的缘由仅仅出于巧合,五一前帮一位同学看51的程序,在查看汇编代码的时候(事实上我当时的汇编知识基本都还给了老师),无意中问起我“某个局部变量的声明怎么没有对应的汇编语句”,我没有答出来。当时也只是把它当做一种常识给记了下来,平时不论还是在DSP、16位的单片上还是PC平台上编写c程序,由于程序不是很复杂且芯片资源通常足够,因此很少会考虑内存分配、堆栈方面的内容。这几天在看《Linux原创 2012-05-06 22:40:43 · 12066 阅读 · 2 评论 -
判断CPU存储字节大小端的两个程序
最近看了有关CPU处理字节的大小端存储方式以及网络传输中相关字节端顺序的问题,想起曾经也在编程中遇到过此类问题,只是当时没有引起重视,在编程顺利的情况下也就想当然的过去了,因此有必要作以下总结。但是由于相关内容较多,思维也较混乱,一片文章恐怕很难全部说清楚。于是决定分篇讨论,下面几篇文章将重点记录下自己在有关大小端问题的理解以及自己所做的试验。 下面主要叙述两种不同的辨别cpu字节原创 2012-05-09 22:10:19 · 1884 阅读 · 1 评论 -
小试身手__一道华为机试题
临走前,练练手,网上随便找了一道华为的机试题,权当练手,由于是第一题,题目相对比较简单,大概花了十分钟搞定。 “1.从两个数组的最后一个元素比较两个数组中不同元素的个数,如有array1[5]={77,21,1,3,5}, array2[3]={1,3,5},从array1[4]与array2[2]比较开始,到array1[2]与array[0]比较结束。这样得出它们不同的元原创 2012-05-09 22:45:28 · 686 阅读 · 0 评论 -
VC 中 for循环初始化变量
VC6.0 编写如下程序,但后缀名分别改为.c和.cpp:#includeint main(void){ for(int i=0; i<3; i++) { printf("%d\n", i); }} 编译后发现:后缀名为.c的程序无法通过编译,而改为.cpp后则顺利通过并能链接和运行。但是,如果将.c中的文件改成如下形式:#includeint ma原创 2012-05-11 21:15:08 · 1688 阅读 · 0 评论 -
常量指针与指针常量
有关常量指针和指针常量的理解常常让人产生混乱,现作简要说明以备忘。通常指针和const在一起的运用有如下四种:const int *p; // p 可变,p 指向的对象不可变int const *p; // p 可变,p 指向的对象不可变int *const p; // p 不可变,p 指向的对象可变const int *const p; //指针p 和p 指向的对象都不可变原创 2012-05-12 11:25:55 · 437 阅读 · 0 评论 -
约瑟夫问题
#include #include typedef struct nodeEx { int count; struct node *nextNode;} node;node *creatNode(int num){ int i; node *head, *p, *pNext; p = (node *)malloc(sizeof(node));原创 2012-05-14 18:00:22 · 418 阅读 · 0 评论 -
Notepad++ 列操作
在网上找到一篇关于socket编程的文章,想把其中的代码直接拷贝下来运行测试,但是人家网站做的不够人性化,每行的开头都有行号,直接拷贝就要一行行的删除,甚是麻烦,想到linux下的vi编辑器可以完成列操作,windows下应该也有相关软件可以胜任。想起实习时候用过的一款功能强大且开源免费的编辑器Notepad++,从网上找到如下解决方法,由于不知原始出处,这里不再注明。【列编辑】通常我转载 2012-06-11 20:50:22 · 13866 阅读 · 1 评论 -
解决error LNK2001 unresolved external symbol
vc网络编程中遇到一个编译问题,原来是少了WSOCK32.LIB。在 project-->settings-->Link-->Object/Library modules 中加入库WSOCK32.LIB即可。此问题以前也碰到过,出现此类错误基本都是类库没有加载导致的。在VC中进行WINSOCK的API编程开发的时候,需要在项目中使用下面三个文件,否则会出现编译错误。 1.WINSOC转载 2012-06-11 21:25:48 · 850 阅读 · 0 评论 -
#pragma data_seg() 在进程通信,数据共享上的用法总结
#pragma data_seg()一般用于DLL中,用于定义一个共享的,有名字的数据段。命名的数据段中的全局变量可以被多个进程共享,否则多个进程之间无法共享DLL中的全局变量。例如:同一程序的多个实例共享一份数据,一个实例对数据的修改会影响到其他实例,具体到窗口中就是,一个实例中的数据显示变化引起其他各个实例中数据显示的更新。具体应用实例:a) 实现进程间的数据共享,通信在W转载 2012-08-07 20:56:37 · 2576 阅读 · 0 评论 -
进程间通信
进程通常被定义为一个正在运行的程序的实例,它由两个部分组成:A. 操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方B. 地址空间,它包含所有的可执行模块或DLL模块的代码和数据。它还包含动态分配的空间。如线程堆栈和堆分配空间。每个进程被赋予它自己的虚拟地址空间,当进程中的一个线程正在运行时,该线程可以访问只属于它的进程的内存。属于其它进程的内存则转载 2012-08-07 20:55:50 · 1368 阅读 · 0 评论 -
几道经典的嵌入式C语言笔试题
C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为带面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。 从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对ANSI标准细节的知识而不是技术技巧而设计吗?这个愚蠢的问题吗?如要你答出某个字转载 2012-08-01 11:09:01 · 3297 阅读 · 0 评论 -
弱类型?C语言参数提升带来的一个陷阱
本文转自:http://www.spongeliu.com/%E8%AF%AD%E8%A8%80%E5%AD%A6%E4%B9%A0/clanguage/ctypetransfer/很久以前,我接触的最初几本C语言书中,我记得有类似这么一句话“C语言是一种弱类型的语言,类型之间可以进行隐式的转换;而C++是强类型的语言,需要进行强制类型转换”。我忘了是哪本书,但这句话我一直记得。因为实际写原创 2012-08-27 15:44:45 · 1828 阅读 · 0 评论 -
c语言的几个重要知识点
本文转自:http://www.cnblogs.com/cherri/archive/2010/12/04/1896183.html目录:1. 内存结构2 .指针3. 字符串处理4. 裢表5. 复习大纲中的一些知识点理解 1、 内存结构这是核心中的核心,请仔细看完,充分理解,否则请不要看下一节内容。每个程序一启动都有一转载 2012-08-27 15:53:56 · 8843 阅读 · 1 评论 -
预处理、const与sizeof
本文转自:http://www.eefocus.com/thinkpower/blog/08-09/157051_2ea48.html第六章 预处理、const与sizeof1. 预处理当中的宏定义注意:有时候宏展开以后会出现二意性问题。所以要注意使用括号。2. sizeof的总结sizeof是运算符,它的作用是返回一个类型或变量的长度,长度的单位是字节。(1)基本数据转载 2012-09-05 11:25:16 · 814 阅读 · 0 评论 -
Linux 环境变量配置的三种方法
目录简介/etc/profile功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入简介Linux系统中的环境变量通俗来...原创 2019-07-16 21:38:27 · 217 阅读 · 0 评论