![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C&C++
dyufei
这个作者很懒,什么都没留下…
展开
-
C/C++结构体总结(一)
1 #include"iostream" 2 using namespace std; 3 4 struct TestStruct 5 {原创 2010-11-29 20:25:00 · 353 阅读 · 0 评论 -
利用GCC预处理展开宏
C/C++在编译的过程中,依次进行:预处理,编译,汇编,链接。宏是在预处理时展开的而 gcc 的预处理选项为-E。 所以将调用宏的那部分代码单独提取出来,然后利用gcc对其进行预处理即可看到宏展开后的代码,方便理解。 方法:gcc -Efile_name.c 例://macro_test.c#include#definePRINT_MSG(MSG) prin原创 2012-08-08 18:04:06 · 979 阅读 · 0 评论 -
VC 控制台程序中使用Messagebox
任何地方: AfxMessageBox("hello world! "); 任何地方: ::MessageBox(NULL, "abc!",_T("attention"), MB_OKCANCEL ) == IDOK ) 窗口类下: MessageBox("Unableto ..."); 例:#include #includeusing原创 2012-08-08 18:06:18 · 673 阅读 · 1 评论 -
C与C++混合编程
1、C++调用C函数 C++程序不能直接调用C 函数(c_program 函数被C 编译器编译后在库中的名字为_c_program,而C++编译器则会产生像_c_program_int_int之类的名字用来支持函数重载和类型安全连接。由于编译后的名字不同所以不能直接调用)。C++提供了一个C 连接交换指定符号extern“C”来告诉编译译器,函数c_program 是个C 连原创 2012-09-19 22:57:44 · 484 阅读 · 0 评论 -
GCC与G++
一、gcc与g++gcc是GNU项目中符合ANSI C标准的编译系统。 g++是将 gcc默认语言设为 C++的一个特殊的版本,链接时它自动使用 C++标准库而不用 C标准库。 注意事项GCC和G++两者都可以编译C和C++代码,但应该请注意:(1)后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为.cpp的,两者都会认为是c++程序。原创 2012-09-19 23:06:54 · 545 阅读 · 0 评论 -
I386的体系结构
I386的体系结构1.内存寻址 冯.诺依曼体系计算机系统由运算器、存储器、控制器、输入设备、输出设备五大部件组成。运算器就是我们熟知的CPU中的ALU(算术逻辑单元),存储器是内存,控制器是CPU中的控制单元;输入设备就是我们的鼠标键盘等;输出设备就是显示器,打印机等。1.1历史回顾1.1.1石器时代20年前intel推出了一款8位处理器——8080,它有1个主累加器(原创 2012-09-19 23:15:14 · 498 阅读 · 0 评论 -
C++0x/C++11 Support in GCC
C++0x/C++11 Support in GCCC++0xwas the working name of the ISO C++ 2011 standard, which introduced a host ofnew features into the standard C++ language and library. This project sought toimplement n转载 2014-01-01 18:48:21 · 225 阅读 · 0 评论 -
星期几计算公式
一:常用公式W =[Y-1] + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + DY是年份数,D是这一天在这一年中的累积天数,也就是这一天在这一年中是第几天二:蔡勒(Zeller)公式w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1公式中的符号含义如下,w:星期;c:世纪;y:年(两位数); m:月(m大于等于3,小于等于原创 2014-01-01 18:56:46 · 273 阅读 · 0 评论 -
Multi-threading Library for Standard C++
ContentsIntroductionThreadMutex Mutex Rationale and Examples Mutex concepts Time Issues Lock Rationale and Examples Generic Locking Algorithm Rational转载 2014-01-01 18:52:26 · 305 阅读 · 0 评论 -
itoa with GCC
itoa with GCCIntroductionCreditsDevelopmentLatest VersionsPerformance ComparisonHow do I use itoa() with GCC?Arrgghh C/C++! It would appear that itoa() isn't ANSI C standard and doesn't转载 2014-01-01 19:56:46 · 227 阅读 · 0 评论 -
C/C++ 的 Gets 、 fgets、 scanf
一、fgetschar *fgets ( char * str, int num, FILE * stream );说明:从stream所指文件中读入n-1个字符放入str为起始地址的空间内;如果在未读满num-1个字符时,已读到换行符或EOF(文件结束标志)则结束本次读操作且读入的字符串尾包含读到的换行符。读入结束后,系统将自动在最后加'\0'。返回值: 若成功则返回s指针,失败原创 2014-01-01 19:33:26 · 222 阅读 · 0 评论 -
C++ 函数指针
(一)简单的函数指针的应用。//形式1:返回类型(*函数名)(参数表)char(*pFun)(int); char glFun(inta){ return;} void main() { pFun = glFun; (*pFun)(2); } 第一行定义了一个指针变量pFun。首先我们根据前面提到的转载 2014-01-01 19:45:08 · 138 阅读 · 0 评论 -
C\C++中的预处理
一、预处理功能:预处理器的主要作用就是把通过预处理的内建功能对一个资源进行等价替换,最常见的预处理有:文件包含,条件编译、布局控制和宏替换4种。文件包含:#include 是一种最为常见的预处理,主要是做为文件的引用组合源程序正文。条件编译:#if,#ifndef,#ifdef,#endif,#undef等也是比较常见的预处理,主要是进行编译时进行有选择的挑选,注释掉一些指定的原创 2014-01-01 20:07:03 · 281 阅读 · 0 评论 -
DirectFB概览
1 简介DirectFB是一个提供了硬件图形加速、输入设备处理和抽象的轻量级的图形库,它集成了支持半透明窗体的视窗系统(window system)以及在LinuxFramebuffer Device之上的多显示层。它是一个具有软件回退(software fallbacks)的无需依靠底层硬件的可用于任意图形运算的完整的硬件抽象层。DirectFB是为嵌入式系统(embeddedsystems原创 2014-01-01 19:13:46 · 405 阅读 · 0 评论 -
C++字符串格式化 sprintf
在将各种类型的数据构造成字符串时,sprintf的强大功能很少会让你失望。由于sprintf 跟printf在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。sprintf是个变参函数,定义如下:intsprintf( char *buffer, const char *format [,转载 2014-01-01 19:26:57 · 154 阅读 · 0 评论 -
GDB
使用 GDB 一般来说 GDB 主要调试的是C/C++ 的程序。要调试 C/C++ 的程序,首先在编译时,我们必须要把调试信息加到可执行文件中。使用编译器(cc/gcc/g++ )的 -g 参数可以做到这一点。如:> cc-g hello.c -o hello>g++ -g hello.cpp -o hello如果没有 -g ,你将看不见程序的函数名、变量名,所代替的全是运行时转载 2012-08-08 18:01:23 · 176 阅读 · 0 评论 -
Ubuntu-10.10下搭建DirectFB-1.6.1模拟环境
下载DirectFB与样例的源码包:http://directfb.org/index.php?path=Main%2FDownloadshttp://directfb.org/index.php?path=Main%2FDownloads&page=1 一、安装DirectFB(1)解压安装$sudo tar zxvf DirectFB-1.6.1.tar.gz(2)原创 2012-08-08 17:49:05 · 860 阅读 · 1 评论 -
Split a string
Split a stringThevast majority of questions about splitting strings is about tokenization: splitting a string into substrings containing only relatedcharacters, called, depending on context, token转载 2012-07-03 00:13:56 · 445 阅读 · 0 评论 -
【转】函数指针与指针传参
1.函数指针 函数指针形式说明如下: (*指针变量名)(); 其调用格式如下所示: int max(int x,int y); //定义函数max int (*funcp)();//定义返回值为整型的函数指针 funcp=max;//将函数名(函数入口地址)传给funcp,使其指向函数 //上两行代码等价于int (*funcp)(int,int)=&max; (*funcp)(3,4));//利用函数指针调用函数: (*funcp)=max; 若把指向函数的指针作为参数传递到其他函数中,原创 2011-01-09 12:36:00 · 469 阅读 · 0 评论 -
C/C++ 位操作 总结
1 2 #include 3 #include 4 #include 5 #include 6原创 2010-11-20 00:00:00 · 349 阅读 · 0 评论 -
C/C++ 位操作 总结
1 2 #include 3 #include 4 #include 5 #include 6原创 2010-11-19 23:54:00 · 106 阅读 · 0 评论 -
c++ 字典排序 并统计字符串个数
#include #include #include #include #include #include using namespace std;int _tmain(int argc, _TCHAR* argv[]){ vector vec; vec.push_back("This"); vec.push_back("is"); vec.push_back("a")原创 2012-01-05 23:35:47 · 880 阅读 · 0 评论 -
链表
#include "stdafx.h"#include #include #include #include using namespace std;const int MAX_SIZE = 256; struct node{ char *str; struct node *next; };原创 2012-01-10 00:49:58 · 208 阅读 · 0 评论 -
c/c++ 字符串分割 (strtok)
int main(){ vector strvec; char str[] ="addd,bs,cgwg, we;f d*e"; const char * split = ",* ;"; char * p; p = strtok (str,split); while(p!=NULL) { string str = p;原创 2012-01-05 23:31:24 · 798 阅读 · 0 评论 -
c++ 从文件中读取字符串 按字典排序 并统计个数
#include #include #include #include #include #include #include using namespace std;const int MAX_SIZE = 40;void GetWords(vector &vec){ char str[ MAX_SIZE]; ifstream InFile("E:\\test.txt"原创 2012-01-06 00:07:37 · 1248 阅读 · 0 评论 -
windows 系统开机时间提醒
#include "stdafx.h"#include #include #include #include #include using namespace std;string formatTime(unsigned long timeStamp,unsigned long &lhour){ unsigned long minute = timeStamp/60; u原创 2012-07-05 18:24:23 · 223 阅读 · 0 评论 -
关闭打开控制台 方法
关闭打开控制台 方法 一、控制台应用程序 关闭Dos窗口 #include"stdafx.h"#include#includeint _tmain(int argc,_TCHAR* argv[]){AllocConsole(); // Create a new console windowstd::cout<<i<<std::endl;Sleep(1000);原创 2012-07-05 21:03:38 · 1625 阅读 · 0 评论 -
C\c++ 运算符的优先级与结合
优先级运算符含义参与运算对象的数目结合方向 1( )[ ]->.圆括号运算符下标运算符指向结构体成员运算符结构体成员运算符 双目运算符双目运算符双目运算符自左至右2!~++---(类型)*原创 2012-07-05 22:15:47 · 159 阅读 · 0 评论 -
ASCII码表
ASCII码表完整版ASCII值控制字符ASCII值控制字符ASCII值控制字符ASCII值控制字符0NUT32(space)64@96、1SOH转载 2012-07-05 22:18:56 · 390 阅读 · 0 评论 -
Source Insight技巧收集
1、背景色选择 要改变背景色Options->preference->windows background->color设置背景色2、解决字符等宽对齐问题。 SIS默认字体是VERDANA,很漂亮。这网页上应该也是用的VERDANA字体。但由于美观的缘故,VERDANA字体是不等宽的。比如下面两行 llllllllll MMMMMMMMMM 同样10个字转载 2012-07-05 18:28:26 · 296 阅读 · 0 评论 -
vc6 打开按钮出错 的解决方法
关于vc6.0按下打开按钮出错的解决方法 vc6.0打开按钮按下是提示或 1.下载http://support.microsoft.com/kb/241396里面的一个叫FileTool.exe的文件并解压,解压后是一个vc工程,用vc6.0打开工程,编译,得到FileTool.dll,把它拷到vc6.0安装目录下。2.编译替换点vc菜单栏里面的Tools(原创 2012-07-05 21:55:28 · 95 阅读 · 0 评论 -
没有找到MSVCR100.dll 解决办法
没有找到MSVCR100.dll 解决办法 编译好的应用程序在别的机器打开时:"没有找到MSVCR100.dll,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题。"原因:说明了你的程序是用VisualStudio 2010编译的,而且对编译器配置选项为动态连接VC运行库而别的机器上没有该库导致。。 解决办法:VS中选中project-->property原创 2012-07-06 10:08:27 · 1293 阅读 · 0 评论 -
C++的类型转换函数
C++的类型转换函数reinterpret_cast、const_cast、static_cast和dynamic_cast前三个类型转换是在编译时实现转换,dynamic_cast是在运行时进行类型转换的。reinterpret_cast(expression)const_cast( expression)static_cast(expression)dynamic_ca原创 2012-06-28 23:03:11 · 240 阅读 · 0 评论 -
利用GCC预处理展开宏
C/C++在编译的过程中,依次进行:预处理,编译,汇编,链接。宏是在预处理时展开的而 gcc 的预处理选项为-E。 所以将调用宏的那部分代码单独提取出来,然后利用gcc对其进行预处理即可看到宏展开后的代码,方便理解。 方法:gcc -Efile_name.c 例://macro_test.c#include#definePRINT_MSG(MSG) prin原创 2014-01-01 20:01:41 · 338 阅读 · 0 评论