c/c++
下雨天_____
擅长领域:智慧城市,信息安全,电信业务
展开
-
IP与点分十进制数的字符串之间的转换(c++)
自己写的一个IP地址与点分十进制数的字符串之间的转换的shi原创 2014-09-04 13:13:34 · 4087 阅读 · 0 评论 -
理解*(void**)
#include void main(){ int *p; int a=2; unsigned long b=1245048; p=&a; printf("%d/n",*p); printf("%p/n",&a); printf("%d/n",&a); print原创 2014-10-12 10:12:23 · 2519 阅读 · 1 评论 -
C语言void及void指针
1.概述 本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧。 2.void的含义 void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。 void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量,让我们试着来定义: void a;原创 2014-10-12 01:36:19 · 501 阅读 · 0 评论 -
C语言堆栈——堆和栈的区别
格式和部分内容稍作修改。在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。堆栈:一种数据结构、一个在程序运行时用于存放的地方,这可能是很多初学者的认识,因为我曾经就是这么想的和汇编语言中的堆栈一词混为一谈。我身边的一些编程的朋友以及在网上看帖遇到的朋友中有好多也说不清堆栈,所以我想有必要给大家分享一下我对堆栈的看法,原创 2014-10-12 01:30:23 · 530 阅读 · 0 评论 -
strcpy和memcpy的区别
strcpy和memcpy都是标准C库函数,它们有下面的特点。strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。已知strcpy函数的原型是:char* strcpy(char* dest, const char* src);memcpy提供了一般内存的复制。即memcpy对于需要复制的内容没有限制,因此用途更广。原创 2014-10-12 21:37:34 · 406 阅读 · 0 评论 -
详解#program
C和C++的每个实现对它的主机或操作系统都支持一些独有的特征。例如,某些程序须对存放数据的存储器区域进行精确的控制,或必须控制特定函数接受参量的方式。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。语法#pragma 语言符号字符串语言原创 2014-10-12 22:00:51 · 5200 阅读 · 0 评论 -
C中的野指针—如何避免
先看一个例子:struct student{ char * name; int score;}stu, *pstu;int main(void){ strcpy(stu.name, "Jimy"); stu.score = 99; return 0;}这是很多人都容易犯的错误:定义了结构体变量stu,但结构体内部的ch原创 2014-10-12 20:56:02 · 834 阅读 · 0 评论 -
VS2008常用快捷键
1.强大的渐进式搜索 操作步骤: 1.按Ctrl+I键; 2.输入你要搜索的文本。注意:这时你会看到光标跳至第一个匹配的位置,并高亮显示搜索的文本。 3.再次按下Ctrl+I键,光标将跳至下一个匹配的文本; 4.按Ctrl+Shift+I可向后搜索; 5.按ESC键停止搜索;2.使用快捷键来注释和取消注释 操作步骤: 1、注释代码:Ctrl+K,原创 2014-10-14 19:47:09 · 398 阅读 · 0 评论 -
浅谈C++多态性
C++编程语言是一款应用广泛,支持多种程序设计的计算机编程语言。我们今天就会为大家详细介绍其中C++多态性的一些基本知识,以方便大家在学习过程中对此能够有一个充分的掌握。 多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。多态(polymorphisn),字面意思多种形状。 C++多态性是通过虚函数来实现的,虚函数允许子类重新定原创 2014-11-25 18:53:55 · 449 阅读 · 0 评论 -
10个经典的C语言面试基础算法及代码
本文是码农网原创整理,转载请看清文末的转载要求,谢谢合作!算法是一个程序和软件的灵魂,作为一名优秀的程序员,只有对一些基础的算法有着全面的掌握,才会在设计程序和编写代码的过程中显得得心应手。本文是近百个C语言算法系列的第二篇,包括了经典的Fibonacci数列、简易计算器、回文检查、质数检查等算法。也许他们能在你的毕业设计或者面试中派上用场。1、计算Fibonacci数列F转载 2014-11-24 13:29:36 · 949 阅读 · 0 评论 -
C++ explicit关键字应用方法详解
C++编程语言中有很多比较重要的关键字在实际编程中起着非常重要的作用。我们今天为大家介绍的C++ explicit关键字就是其中一个应用比较频繁的关键字。下面就让我们一起来看看这方面的知识吧。C++ explicit关键字用来修饰类的构造函数,表明该构造函数是显式的,既然有"显式"那么必然就有"隐式",那么什么是显示而什么又是隐式的呢?如果c++类的构造函数有一个参数,那么在编译的原创 2014-12-02 17:54:03 · 422 阅读 · 0 评论 -
windows 32位程序编译成64位
VS2010新建的VC++项目默认的组件平台是32位要将它编译为64位程序,按以下步骤:1.点击“Win32”下拉框,打开“配置管理器”2.点击“活动解决方案管理平台”下拉框,选“新建”3.点击“键入或选择新平台”下拉框,选"x64",然后点击“确定”4.配置完成,可以看见项原创 2014-12-03 19:02:37 · 736 阅读 · 0 评论 -
同步IO和异步IO
同步IO和异步IO 有两种类型的文件IO同步:同步文件IO和异步文件IO。异步文件IO也就是重叠IO。在同步文件IO中,线程启动一个IO操作然后就立即进入等待状态,直到IO操作完成后才醒来继续执行。而异步文件IO方式中,线程发送一个IO请求到内核,然后继续处理其他的事情,内核完成IO请求后,将会通知线程IO操作完成了。如果IO请求需要大量时间执行的话,异步文件IO方式可以原创 2014-12-05 10:30:17 · 689 阅读 · 0 评论 -
日志操作利器log4cxx 分享
前言:log4cxx的配置文件完全和log4j相同,但是比较别扭的地方就是log4j使用com.aa.bb这样组织类,用在log4cxx中多少有点别扭(无论如何也不会有人在命名空间中嵌套那么多)。http://erera.net/blog/log4cxx.html日志操作利器log4cxx今天看了一场今年WCG的比赛,jaedong对阵stork,非常精彩。突然感觉星际原创 2014-12-05 14:40:25 · 665 阅读 · 0 评论 -
网络编程:Reactor与Proactor的概念
1、标准定义两种I/O多路复用模式:Reactor和Proactor一般地,I/O多路复用机制都依赖于一个事件多路分离器(Event Demultiplexer)。分离器对象可将来自事件源的I/O事件分离出来,并分发到对应的read/write事件处理器(Event Handler)。开发人员预先注册需要处理的事件及其事件处理器(或回调函数);事件分离器负责将请求事件传递给事件处理原创 2014-12-05 10:27:07 · 418 阅读 · 0 评论 -
C语言中printf格式化输出函数
用 法: int printf(const char *format,[argument]); format 参数输出的格式,定义格式为: %[flags][width][.perc] [F|N|h|l]type 规定数据输出方式,具体如下: 1.type 含义如下: d 有符号10进制整数 i 有符号10进制整数原创 2014-10-12 09:49:57 · 524 阅读 · 0 评论 -
学习COM组件编程
面向对象的思想难以适应这种分布式软件模型,于是组件化程序设计思想得到了迅速的发展。按照组件化的程序设计的思想,复杂的应用程序被设计成一些小的,功能单一的组件模块,这些组件模块可以运行在同一台机器上,也可以运行在不同的机器上。为了实现这样的应用软件,组建程序和组建程序之间需要一些极为细致的规范, 只有组件程序遵守了这些共同的规范,然间系统才能正常运行。为此,OMG和Micro原创 2014-10-27 15:17:05 · 917 阅读 · 0 评论 -
JNI中很有用的jstring 与 const char* 的相互转换函数
JNT中很有用的jstring 与 const char* 的相互转换函数我们使用JNI的时候经常碰到jstring 与 const char*转换的问题,以及中文编码问题,这里从网上看到的2个比较好的相互转换函数,今天把它摘录下来,以备用之。呵呵。//将const char类型转换成jstring类型jstring CStr2Jstring( JNIEnv* env,原创 2014-09-04 17:00:00 · 543 阅读 · 0 评论 -
c++静态链接库和动态链接库
一.编写静态链接库在VC++6.0中new一个名称为libTest的static library工程,并新建lib.h和lib.cpp两个文件,lib.h和lib.cpp的源代码如下://文件:lib.h#ifndef LIB_H#define LIB_Hextern "C" int add(int x,int y); //声明为C编译、连接方原创 2014-09-05 10:03:00 · 632 阅读 · 0 评论 -
动态链接库dll详细的介绍和使用
一、引言在发行的应用程序中,经常包含动态链接库dll,它包含执行一定功能的函数供其他程序调用。Windows API函数都包含在DLL中,其中有三个最重要的DLL:Kernel32.dll 包含用于管理内存、进程、线程的函数。User32.dll 包含哪些用于执行用户界面的函数GDI32.dll 包含哪些用于画图和显示文本的函数使用动态链接库的好处:转载 2014-09-05 11:21:46 · 824 阅读 · 0 评论 -
linux 静态库、共享库
一、什么是库本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。由于windows和linux的本质不同,因此二者库的二进制是不兼容的。Linux操作系统支持的函数库分为静态库和动态库,动态库又称共享库。Linux系统有几个重要的目录存放相应的函数库,如/lib /usr/lib。二、静态函数库、动态函数库原创 2014-09-11 08:43:42 · 491 阅读 · 0 评论 -
FFMPEG解码流程
FFMPEG解码流程: 1. 注册所有容器格式和CODEC: av_register_all() 2. 打开文件: av_open_input_file() 3. 从文件中提取流信息: av_find_stream_info() 4. 穷举所有的流,查找其中种类为CODEC_TYPE_VIDEO原创 2014-09-12 14:30:17 · 463 阅读 · 0 评论 -
C++ 虚函数表解析
C++ 虚函数表解析 陈皓http://blog.csdn.net/haoel 前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,R转载 2014-09-03 18:27:19 · 329 阅读 · 0 评论 -
c/c++数组名和指针的区别(数组名可不是简单的指针,误区)
指针是C/C++语言的特色,而数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于是乎,很多程序设计者就被搞糊涂了。而许多的大学老师,他们在C语言的教学过程中也错误得给学生讲解:"数组名就是指针"。很幸运,我的大学老师就是其中之一。时至今日,我日复一日地进行着C/C++项目的开发,而身边还一直充满这样的程序员,他们保留着"数组名就是指针"的误解。 想必这种误解的根源在于国内某著原创 2014-09-03 10:49:29 · 1129 阅读 · 2 评论 -
如何将ffmpeg在windows编译和使用
FFmpeg在Windows系统下的编译过程,分四步:如下:1. 配置编译环境2. 下载FFMPEG的代码3. 编译,获取FFMPEG库(头文件,lib,和DLL)4. 在VC下配置,测试1. 配置编译环境1)安装MSys下载文件: bash-3.1-MSYS-1.0.11-snapshot转载 2014-03-15 13:59:48 · 809 阅读 · 0 评论 -
c++模板函数声明定义分离编译错误详解
今天看到accelerated c++上有个简单的vector容器的实现Vec,就再vs2008上编译了下: ///// Vec.h #ifndef GUARD_VEC_H#define GUARD_VEC_H #include #include #include原创 2014-09-03 17:53:29 · 541 阅读 · 0 评论 -
#pragma once与 #ifndef的区别
#pragma once 这是一个比较常用的指令,只要在头文件的最开始加入这条指令就能够保证头文件被编译一次 #pragma once用来防止某个头文件被多次include,#ifndef,#define,#endif用来防止某个宏被多次定义。 #pragma once是编译相关,就是说这个编译系统上能用,但在其他编译系统不一定可以,也就是说移植性差,不过现在基本上已经是每原创 2014-09-03 21:33:40 · 481 阅读 · 0 评论 -
c++拷贝构造函数
一、整体代码 Test.h [cpp] #ifndef _TEST_H_ #define _TEST_H_ class Test { public: // 如果类不提供任何一个构造函数,系统将为我们提供一个不带参数的 // 默认的构造函数 Test(); explicit Test(int num); Test(const T原创 2014-09-03 17:30:55 · 468 阅读 · 0 评论 -
gethostbyname() 用域名或主机名获取IP地址
gethostbyname() -- 用域名或主机名获取IP地址 #include #include #include #include #include #include #include #include #inclu原创 2014-09-04 11:29:43 · 1099 阅读 · 0 评论 -
CreateProcess用法实列
CreateProcess用法实列:本程序已打开n原创 2014-09-04 11:51:21 · 947 阅读 · 0 评论 -
VS2008常用快捷键 最全的快捷键
1.强大的渐进式搜索 操作步骤: 1.按Ctrl+I键; 2.输入你要搜索的文本。注意:这时你会看到光标跳至第一个匹配的位置,并高亮显示搜索的文本。 3.再次按下Ctrl+I键,光标将跳至下一个匹配的文本; 4.按Ctrl+Shift+I可向后搜索; 5.按ESC键停止搜索;2.使用快捷键来注释和取消注释 操作步骤: 1、注释代码:Ctrl+K,原创 2014-10-24 19:17:17 · 11698 阅读 · 0 评论 -
字符集进化史
很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为”字节“。再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去。他们看到这样是好的,于是它们就这机器称为”计算机“。开始计算机只在美国用。八位的字节一共可以组合出256(2的8次方)种不同的状态。 他们把转载 2016-09-29 14:56:19 · 374 阅读 · 0 评论