
C/C++
文章平均质量分 93
cgzhello1
这个作者很懒,什么都没留下…
展开
-
C语言规则总结一
最近又重新认真的学习了一下C语言的基础,看到很多值得注意的地方,现在总结下来,共大家谈论,也方便以后查阅。本文章适合已经掌握一定C语言基础的朋友!声明和初始化1. 如何决定使用哪种数值类型?Int,long,short的关系,原则上long保存的数值范围要不小于int,而short不大于int.一般情况下,如果要保存的数据>32767,或者Char原创 2012-07-31 15:30:31 · 3037 阅读 · 0 评论 -
常见的C++编译器
GNU C++ g++是一个开源的C++编译器,GCC3.3对标准化C++的支持达96.15%。 值得一提的是,gcc是gnu c的编译器, g++是gnu c++的编译器, 而egcs(Enhanced GNU Compiler Suite)可以认为是gcc的改进版。目前gcc已经改名,从原来代表GNU C Compiler改变为代表GNU Compiler Collection。而原创 2013-02-22 10:45:42 · 858 阅读 · 0 评论 -
const用法详解(转)
http://www.cnblogs.com/StudyRush/archive/2010/10/06/1844690.html面向对象是C++的重要特性. 但是c++在c的基础上新增加的几点优化也是很耀眼的 就const直接可以取代c中的#define 以下几点很重要,学不好后果也也很严重 const 1. 限定符声明变量只能被读 const int转载 2013-07-25 08:53:58 · 568 阅读 · 0 评论 -
c++继承及例子
一、理论介绍C++编程语言的应用范围比较广泛,能够以一种简单灵活的方式帮助开发人员实现许多功能。在C++类继承中,一个派生类可以从一个基类派生,也可以从多个基类派生。 从一个基类派生的继承称为单继承;从多个基类派生的继承称为多继承。单继承的定义class B:public { 派生类新定义成员> }; 多继承的定义 class C:public A,private B原创 2014-02-21 14:17:43 · 1455 阅读 · 0 评论 -
qt4中如何调用C函数
qt默认的编程语言为C++语言。如果你用qt编译.c文件,会出现找不到C语言的默认头文件等错误(如:stdio.h等)。qt中不支持 extern "C"{}的这种写法,我前几天有一个C程序需要移植到Qt的工程中,本希望直接extern "C"就ok了,但发现qt4居然不支持这种写法。我的程序中用到了好几个linux系统头文件,是向串口发指令之类的程序,程序中用到了互斥锁并创建了一个线程。如果原创 2014-02-14 09:46:35 · 4942 阅读 · 0 评论 -
psi windows qt
在windows环境下,在qt中编译psi是个比较费时费事的事情,今天终于编译通过,在这里记录一下。psi需要三个东西的支持,qca,qca-ossl,openssl,每一个都可以在google中单独的搜索XXX编译查到,如搜索qca编译得到qca的安装编译方法。其实每一个的意思是实现第三方插件在qt中的使用,因此如果不熟悉qt,或者不熟悉插件的编译使用方法,是比较麻烦的事情。下面总结原创 2014-02-14 09:31:05 · 2021 阅读 · 3 评论 -
namespace C++
命名空间在C++中,名称(name)可以是符号常量、变量、宏、函数、结构、枚举、类和对象等等。为了避免,在大规模程序的设计中,以及在程序员使用各种各样的C++库时,这些标识符的命名发生冲突,标准C++引入了关键字namespace(命名空间/名字空间/名称空间/名域),可以更好地控制标识符的作用域。MFC中并没有使用命名空间,但是在.NET框架、MC++和C++/CLI中,都大量使用了命名转载 2014-02-28 13:38:31 · 830 阅读 · 0 评论 -
编译及安装QCA类库及使用
QCA是C++ GUI Qt中的一个第三方插件,为Qt提供了一个针对安全性方面编程的框架。从QCA的名称不难发现,它的设计在很多方面借鉴了JCE(Java Cryptography Extension)——QCA定义了一组公共接口,并由不同的提供者提供加解密算法实现。开发者通过调用简单的API,就可以轻松的实现对称加解密、非对称加解密以及数字证书等功能。QCA是跨平台的,可以运行在Windows、原创 2014-02-14 09:35:30 · 12801 阅读 · 3 评论 -
.bat文件自动重启
ping 127.0.0.1 > a.txt xcopy f:\asd.txt e: /s /h /c /y /ktasklist|findstr /i testHttp.exe && taskkill /f /IM testHttp.exestart testHttp.exepause()exit原创 2014-03-21 10:56:24 · 7395 阅读 · 0 评论 -
C/C++程序中致命的内存分配问题
C/C++程序中致命的内存分配问题 你是否曾经这样定义过变量:int a[50]; ?或许你会说,这是一句再普通不过的代码了。那么 int a[1000000]; 呢?int a[512][512]; 呢?用了这么久的 VC,直到今天才发现,自己连最基本的东西还没弄清楚。请看下面的这篇文章: 一、预备知识——程序的内存分配 一个由 C/C++编译的程序占用的内存分为以下几转载 2013-01-31 13:41:50 · 775 阅读 · 0 评论 -
const用法详解(转)
面向对象是C++的重要特性. 但是c++在c的基础上新增加的几点优化也是很耀眼的 就const直接可以取代c中的#define 以下几点很重要,学不好后果也也很严重 const 1. 限定符声明变量只能被读 const int i=5; int j=0; ... i=j; //非法,导致编译错误 j=i; //合法 2. 必须转载 2013-01-30 16:03:39 · 483 阅读 · 0 评论 -
C语言规则总结二
空指针(NULL)1. 什么是空指针在语言定义中,每种指针类型都有一个特殊值---“空指针”---它与同类型的其他指针都不同,它“保证与任何函数或对象的指针值都不相等”。直白点就是说:它不指向任何地方,它不是任何对象或函数的地址。这样取地址符&对空指针无效。 空指针和未初始化的指针不同,未初始化的指针危害巨大,未初始化的指针乱起一气,所以俗称“野指针”!原创 2012-08-01 11:00:38 · 1530 阅读 · 0 评论 -
Source Insight 使用说明
Source Insight 使用说明(整理)Source Insight(深入原代码)实质上是一个支持多种开发语言(java,c ,c++等等)的编辑器,只不过由于其查找、定位、彩色显示等功能的强大,而被我们当成源代码阅读工具使用。所以,为了有效的阅读源程序,首先必须选择功能菜单上的 “Project”选项的子菜单“New Project”新建一个项目,项目名称可以自由选定,当然转载 2012-09-22 15:04:12 · 721 阅读 · 0 评论 -
C++中的volatile关键字
猜猜看,下面这段代码有什么问题:?1234void Delay(UINT32 n){ while(—n);} 答案: 本来代码完全正常,但是为了优化性能,打开了编译器的优化。但是发现这个函数被编译器优化掉了。为了防止被优化掉,需要原创 2012-11-01 21:45:19 · 605 阅读 · 0 评论 -
二叉树遍历
三种遍历的命名 根据访问结点操作发生位置命名: ① NLR:前序遍历(PreorderTraversal亦称(先序遍历)):根左右 ——访问根结点的操作发生在遍历其左右子树之前。 ② LNR:中序遍历(InorderTraversal):左根右 ——访问根结点的操作发生在遍历其左右子树之中(间)。 ③ LRN:后序遍历(P原创 2012-10-24 09:14:06 · 963 阅读 · 0 评论 -
Linux进程间通信类型
1. 进程间的通信类型进程间的通信类型有如下六种:① 管道(pipe)和有名管道(FIFO)。② 信号(signal)。③ 共享内存。④ 消息队列。⑤ 信号量。⑥ 套接字(socket)。2. 进程间通信目的进程间通信目的有如下五种:① 数据转载 2012-11-01 21:46:13 · 1007 阅读 · 0 评论 -
C inline
一、在C&C++中 一、inline 关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义。 表达式形式的宏定义一例: #define ExpressionName(Var1,Var2) ((Var1)+(Var2))*((Var1)-(Var2))为什么要取代这种形式呢,且听我道来: 1. 首先谈一下在C中使用这种形式宏定义的原因,原创 2012-11-28 20:35:14 · 626 阅读 · 0 评论 -
Qt打开COM10以上串口
这里主要说的是使用第三方类qextserialport时,打不开com10及以上的串口,需要在portname前添加\\\\.\\这样就可以了!!例如QString portname;portname.append("\\\\.\\").append(ui->SerialCom->currentText());SerialCom->setPortName(portnam原创 2012-12-11 20:45:55 · 5815 阅读 · 1 评论 -
C中的volatile用法
volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。 例如: volatile int i=10; int j = i; ... int k = i;转载 2013-01-30 16:01:25 · 565 阅读 · 0 评论 -
keil v5 No Ulink2/Me Device Found 的解决方法
问题描述: 在使用keil v5中使用j link2链接STM32F103ZE时,下载程序时,出现下列现象:No Ulink2/Me Device Found,确定之后的输出为:问题的根源在没有配置好keil中的Utilities,选择keil项目中的选项按钮,通过下列操作更改成图中的选项即可解决问题。至此问题解决,可以使用jlink下载程序...原创 2018-04-22 21:18:43 · 64491 阅读 · 12 评论