C/C++编程
学习与实践
hello-Will
软件开发学习交流
展开
-
汇编基本指令的学习
ARM开发区学习,汇编指令伪指令的学习,从英文文档原文抽取总结所得原创 2014-12-22 11:08:57 · 804 阅读 · 0 评论 -
局部变量内存分配详解
#include <stdio.h>int main(){#if 1 int a; char b; int c; char d; a=1; b='2'; c=3; d=4; printf("0x%x 0x%x 0x%x 0x%x\n ", &a, &b,&c,&d);...原创 2018-04-28 15:48:41 · 4409 阅读 · 0 评论 -
c编程之代码优化总结
let me introduce some programing skills to make our c codes more optimizedIntegersWe should use unsigned int instead of int if we know the value will never be negative. Some processors can hand原创 2015-10-29 14:25:16 · 2264 阅读 · 0 评论 -
c编程 如何让自己的代码更高效
IntegersWe should use unsigned int instead of int if we know the value will never be negative. Some processors can handle unsigned integer arithmetic considerably faster than signed (this is also转载 2015-10-29 09:23:16 · 1104 阅读 · 0 评论 -
C中的volatile关键字用法(转)
volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。例如: volatile int i=10; int j = i; ... int k = i;转载 2015-05-25 09:08:19 · 409 阅读 · 0 评论 -
C语言函数sscanf()的用法
sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *format [,argument]... ); 说明: sscanf与scanf类似,都是用于输入的,只是后者以屏翻译 2015-05-25 08:58:24 · 508 阅读 · 0 评论 -
c++中map的使用详解说明
c++ STL 中map的使用技巧详解,map键值对的各项操作原创 2015-01-13 09:49:00 · 1082 阅读 · 0 评论 -
c++中list的使用说明
因公司项目需要,用到list容器 的用法 学习笔记如下//创建一个list容器的实例LISTINT原创 2015-01-13 09:01:54 · 1662 阅读 · 0 评论 -
数字图像处理(1)-图片信息获取和RGB-HSI
数字图像处理(1)-图片信息获取和RGB-HSI原创 2015-01-12 11:00:54 · 1382 阅读 · 0 评论 -
宏和函数的区别
需要注意的中间两个是:操作符优先级: 经典的#define MAX(A,B) A>B?A:B 若A也是个表达式里面,所以宏操作中宏参数在不确定的情况的,加上括号()。参数求值:原创 2016-08-18 16:22:40 · 1013 阅读 · 0 评论 -
C语言中内存分配
在任何程序设计环境及语言中,内存管理都十分重要。在目前的计算机系统或嵌入式系统中,内存资源仍然是有限的。因此在程序设计中,有效地管理内存资源是程序员首先考虑的问题。第1节主要介绍内存管理基本概念,重点介绍C程序中内存的分配,以及C语言编译后的可执行程序的存储结构和运行结构,同时还介绍了堆空间和栈空间的用途及区别。第2节主要介绍C语言中内存分配及释放函数、函数的功能,以及如何调用这些转载 2016-03-18 17:35:23 · 483 阅读 · 0 评论 -
getopt和getopt_long函数使用详解
**getopt和getopt_long函数使用详解**在我们操作命令行的时候,main函数中输入参数一个一个分析不免麻烦,我们可以使用linux的参数分析函数解决此问题方便省力。#include <unistd.h> int getopt(int argc, char * const argv[], const char *optstring);原创 2015-09-14 16:27:20 · 989 阅读 · 0 评论 -
C语言建造自己的调试信息系统
BCM SDK输出错误信息的方法 1: soc_cm_debug(DK_ERR, ("Port %s: soc_link_fwd_set failed: %s\n SOC_PORT_NAME(unit, port), bcm_errmsg(rv))); DK_ERR: 可以这样设置, 全局静态变量 my_debug可以设置标志位,不同级别的调试信息。如下:#define D原创 2017-01-04 15:50:23 · 501 阅读 · 0 评论 -
c语言实现去除代码中的注释
c语言实现去除代码中的注释。算法思想:把文件中内容一个字符一个字符的取出来,把字符分成9种状态,在正常不是注释的状态内字符复制给字符串,在遇到注释内的字符时,直接寻找下一个字符,不复制给字符串,一直到转换到正常状态原创 2016-02-17 17:06:12 · 8262 阅读 · 4 评论 -
#和##在宏中的妙用
##的使用#用作宏中宏参数变成字符串,例如整形数字变成字符串,##用作宏中的连接。一个宏中可以不止一个###include#includeusing namespace std;#define STR(s) #s#define CONS(a,b) int(a##e##b)int main(){ printf(STR(hello));原创 2016-01-29 18:12:01 · 429 阅读 · 0 评论 -
泛型指针
泛型指针通常情况下, C只允许相同类型的指针之间进行转换。例如一个字符型指针sptr (个字符串)和一个整型指针iptr , 我们不允许把sptr转换为iptr把Jptr:转换为sptr。但是,泛型指针能够转换为任何类型的指针,反之亦然。因此,如果有一个泛型指针 gptr , 就可以把sptr:转换为gptr或者把.gptr转换为sptr o 在C语言中,通常声明个 void指针来表示泛型指针.原创 2016-01-21 14:56:26 · 3504 阅读 · 0 评论 -
C语言 回调函数详解
我们在使用C语言实现相对复杂的软件开发时,经常会碰到使用回调函数的问题。但是回调函数的理解和使用却不是一件简单的事,在本篇我们根据我们个人的理解和应用经验对回调函数做简要的分析。1、什么是回调函数 既然谈到了回调函数,首先我们就要搞清楚什么是回调函数。在讨论回调函数之前,我们需要说明另一个概念,那就是函数指针。什么是函数指针呢?说的浅显一点,函数指针就是指向函数的指针,说白了也是一种指针...原创 2020-03-03 09:14:04 · 4252 阅读 · 0 评论 -
c语言 关键字之typedef 详解
在C语言中有一个typedef关键字,其用来定义用户自定义类型。当然,并不是真的创造了一种数据类型,而是给已有的或者符合型的以及复杂的数据类型取一个我们自己更容易理解的别名。总之,可以使用typedef关键字定义一个我们自己的类型名称。 那么,究竟如何定义,又有哪些情况下可已使用呢?接下来我们就对它的几种用法进行说明:(1)基本数据类型定义 有些时候,我们会使用typedef关键...原创 2020-03-02 11:12:47 · 8288 阅读 · 0 评论 -
c语言 关键字之volatile extern详解
Volatile 在C语言中,还有一个并不经常使用但却非常有用的关键字volatile。那么使用volatile关键字究竟能干什么呢?接下来我将就此问题进行讨论。 一个使用volatile关键字定义变量,其实就是告诉编译系统这变量可能会被意想不到地改变。那么编译时,编译器就不会自作主张的去假设这个变量的值,而进行代码的优化了。确切的说就是,编译器在编译代码时,优化器每次遇到这个变量,都...原创 2020-03-01 22:07:30 · 11193 阅读 · 0 评论 -
c语言 关键字之const 详解
在C语言程序中,const关键字也是经常会用到的一个关键字,那么使用const关键字的目的是什么呢?事实上,在程序中使用const关键字的主要目的就是为了向使用者传递设计者的一些意图。 事实上,无论我们是使用const关键字声明变量还是声明参数,其目的都是为了告诉使用者这个变量或者参数的应用目的。合理地使用关键字const 可以使编译器有效地保护那些不希望被改变的变量或参数,防止其无意中被代...原创 2020-03-01 11:06:36 · 499 阅读 · 0 评论