
C/C++
文章平均质量分 52
玄冬Wong
别把自己当回事儿,我还是一只菜鸟……
展开
-
C++函数返回含堆数据的对象时,内存释放问题
class MyClass{public: char *p; MyClass() { p = new char[1]; p[0] = 'a'; p[1] = 0; } ~MyClass() { delete [] p; p = 0; }};int _tmain(int argc, _TC原创 2016-01-25 16:24:32 · 1040 阅读 · 0 评论 -
使用命名对象防止运行一个程序的多个实例【转】
1.要点在程序的入口处调用CreateXXX函数创建一个命名对象(如Mutex,Event等均可),然后调用GetLastError()函数检查返回值,看此对象是否已存在,如果已存在则说明已存在此程序的实例 在程序的出口点调用CloseHandle()关闭在入口处创建的命名对象 2.实现代码 1: //At the entry point, such aa the beginni原创 2016-01-25 16:25:04 · 351 阅读 · 0 评论 -
VC编译器选项【转】
CL.exe 是控制 Microsoft C 和 C++ 编译器与链接器的 32 位工具。编译器产生通用对象文件格式 (COFF) 对象 (.obj) 文件。链接器产生可执行文件 (.exe) 或动态链接库文件 (DLL)。 注意,所有编译器选项都区分大小写。 若要编译但不链接,请使用 /c。 使用原创 2016-01-25 16:25:07 · 325 阅读 · 0 评论 -
Win32 socket简单实例
服务器端: #pragma comment(lib, "Ws2_32.lib")#include stdio.h>#include WinSock2.h>#include WS2tcpip.h>#include process.h>#define _LINK_PORT_ 8088#define _BUFFER_LENGTH_ 512#define _DEFAULT_PORT原创 2016-01-25 16:25:27 · 249 阅读 · 0 评论 -
【转】printf格式控制(你所不知道的printf妙用)
(1)输出格式控制综述: printf的格式控制的完整格式:% - 0 m.n l或h ①%:格式说明的起始符号,不可缺少。 ②-: 有-表示左对齐输出,如省略表示右对齐输出。 ③0:有0表示指定空位填0,如省略表示指定空位不填。 ④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。n指精度,用于说明输出的实型数的小数位数。未指定n时,隐含的精度为n=原创 2016-01-25 16:25:37 · 304 阅读 · 0 评论 -
无法打开包括文件:'atlrx.h'的解决办法[原]
编译出现:致命错误,无法打开包括文件:'atlrx.h'。解决办法:ALTServer下载地址:http://atlserver.codeplex.com/releases/view/3754将解压出来的include目录拷贝并覆盖到VS的安装目录下的\VC\atlmfc\include,例如若是VS2008,则位置为:\Microsoft Visual Studio 9.0\VC原创 2016-01-25 16:25:43 · 9107 阅读 · 0 评论 -
使用WinINet发送HTTP请求并获取数据[原]
BwWinINet.h#pragma once#pragma comment(lib, "Wininet.lib")#pragma comment(lib, "strsafe.lib")#include Windows.h>#include WinInet.h>#include stdio.h>#include strsafe.h>/**********************原创 2016-01-25 16:26:03 · 2485 阅读 · 1 评论 -
【转】D3DXMatrixPerspectiveFovLH函数详解
原文:http://www.cnblogs.com/BAKER_LEE/archive/2008/08/14/1267738.htmlDirectX中投影变换D3DXMatrixPerspectiveFovLH()其实产生的变换矩阵不是将3D物体转换为2D平面画面的变换。实际上是把3D世界的物体变换到(1,1,0) (-1,1,0) (-1,-1,0) (1,-1,0) (1,1,1) (-1原创 2016-01-25 16:26:08 · 461 阅读 · 0 评论 -
【转】D3DXMatrixPerspectiveFovLH参数fovy
1:透视投影矩阵的说明D3DXMATRIX * D3DXMatrixPerspectiveFovLH( D3DXMATRIX * pOut, FLOAT fovy, FLOAT Aspect, FLOAT zn, FLOAT zf);最难理解的参数:fovy通过调用D3DXMatrixPerspectiveFovLH得到的矩阵为xScale 0 0原创 2016-01-25 16:26:11 · 739 阅读 · 0 评论 -
【转】D3DXLoadSkinMeshFromXof函数及.x在不同dx版本中
原文:http://zengwu3915.blog.163.com/blog/static/2783489720097414132811/在看到《DirectX 角色扮演游戏编程》这书第二章中的.x程序,运行光盘上的代码出错error C2664: 'D3DXLoadSkinMeshFromXof' : cannot convert parameter 1 from 'IDirectXFi原创 2016-01-25 16:26:14 · 642 阅读 · 0 评论 -
【转】C/C++字节对齐算法
原文:http://www.cnblogs.com/smartstone/archive/2007/02/08/645308.html 什么是对齐,以及为什么要对齐 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一原创 2016-01-25 16:26:29 · 805 阅读 · 0 评论 -
fstream和stringstream之间的转换
#include fstream>#include sstream> const char* filepath = "C:/test.txt"; ifstream in(filepath); if(in.bad()) { printf("open file '%d' failed!", filepath); return; } str原创 2016-01-25 16:26:31 · 2530 阅读 · 0 评论 -
【转】VS2008中的自定义格式化代码
原文:http://blog.youkuaiyun.com/memory_xj/archive/2008/09/26/2983093.aspxastyle是一个我自己常用的开放源码工具。它可以方便的将程序代码格式化成自己想要的样式而不必人工修改。本来嘛,作为高等生物应该优先去做一些智慧的事情,而不是把时间消耗在机器可以完美完成的事情上。想要立刻开始?请先去主页http://sourceforge.ne原创 2016-01-25 16:27:33 · 496 阅读 · 0 评论 -
【转】将Visual Studio武装到底
本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/jeven2005/archive/2009/08/18/4457783.aspx 在Visual C++ 2005中,如何调用其它编译器编译cpp文件呢? 换句话说,如何把其它编译器集成到VC2005的IDE中呢? 本文介绍了一种简单的方法。 在Visual C++ 2005中,如何调用其它编译器编译cpp文原创 2016-01-25 16:27:35 · 401 阅读 · 0 评论 -
[原]Visual Studio 2008集成C++代码格式化插件
下载地址:http://astyle.sourceforge.net/集成到Visual Studio中(以2008为例)1,Tool -> External Tools -> Add。Title栏输入名字,比如:Asytled Format。若想添加快捷键,则在想要设置的字母前加&符合,例如As&ytled Format,就是以y作为快捷键。(若有添加组合快捷键,往下看。)Command栏输原创 2016-01-25 16:27:41 · 1017 阅读 · 2 评论 -
【转】C++ 内存池
原文地址 http://www.cppblog.com/d3d/archive/2008/11/28/68097.aspx SMemoryChunk.h#ifndef __SMEMORYCHUNK_H__#define __SMEMORYCHUNK_H__typedef unsigned char TByte ;struct SMemoryChunk{原创 2016-01-25 16:27:43 · 260 阅读 · 0 评论 -
GDI+抗锯齿
Graphics.SetSmoothingMode(SmoothingMode::SmoothingModeAntiAlias); 管理员在2009年8月13日编辑了该文章文章。 --> --> window._bd_share_config={"co原创 2016-01-25 16:28:02 · 1306 阅读 · 0 评论 -
【转】c语言static和extern的用法
原文:http://www.cnblogs.com/hishope/archive/2008/08/28/1278822.html一,static和extern:大工程下我们会碰到很多源文档。 文档a.cstatic int i; //只在a文档中用int j; //在工程里用static void init() //只在a文档中用{}void原创 2016-01-25 16:28:08 · 266 阅读 · 0 评论 -
【转】Release下报错,Debug下正常原因总结
原文:http://blog.youkuaiyun.com/rabbit729/archive/2010/11/23/6029164.aspx首先介绍如何在Release模式下调试: 步骤如下: 说明:ASSERT宏在发行版本中不起作用,而应该用VERIFY来进行发行版的调试。如果发行版本运行有问题,可以先禁止所有代码优化再进行调试。VS2008 Release 工程调试修改方式:原创 2016-01-25 16:28:24 · 525 阅读 · 0 评论 -
两种方式调试JNI中DLL(动态链接库)
一,附加方式1,eclipse链接库引用到vs的debug目录下 ,例如:System.load("E:\\vcproject\\debug\\test.dll");2,在C++的被调用方法中写入一个死循环。3,eclipse 运行java程序,调用dll库方法,这是就卡在DLL内部的死循环中4,在C++的死循环内设置断点,VS中debug属性命令里面:E:\too原创 2016-01-25 16:29:05 · 499 阅读 · 0 评论 -
【转】开源日志库<log4cplus+VS2008使用>整理
本文出自 “碧海笙箫” 博客,请务必保留此出处http://pyhcx.blog.51cto.com/713166/143549一.简介 log4cplus是C++编写的开源的日志系统,功能非常全面.本文介绍如何在Windows+VS2008中使用该日志库。 二.下载 可从网站[url]http://log4cplus.sourceforge.net[/url]上去下载 log4c原创 2016-01-25 16:29:10 · 350 阅读 · 0 评论 -
【转】OpenGL开发环境配置
原文:http://www.cnblogs.com/kesalin/archive/2009/09/08/opengl_settings.htmlOpenGL 下有一些重用的辅助库,比如glut,glee,glew等等,在windows平台下需要自己安装,因为微软为了推广自己的DX,在windows下只支持openGL 1.1版本。你可以打开\Microsoft Visual Studio X.X原创 2016-01-25 16:30:01 · 237 阅读 · 0 评论 -
【转】C++ ZLib压缩与解压缩
原文:http://www.cnblogs.com/chuncn/archive/2011/03/23/1992481.html #include "stdafx.h"#include "zlib.h"#include iostream>using namespace std; #pragma comment(lib,"zlib.lib")int _tm原创 2016-01-25 16:30:12 · 4230 阅读 · 0 评论 -
【转】程序debug正常release错误
原文:http://hi.baidu.com/leggle/blog/item/ec0c2e5400c3ed5dd10906a7.html呵呵,Iris来了!由于最近所做项目接近尾声,想在release下运行却发现遇此问题,遂在网上搜寻,摘录如下:VC编写程序在debug下正常,在release下错误可能存在的原因:1、内存分配问题(1)变量初始化Release对程序的要求较Debug严格,应该对原创 2016-01-25 16:30:15 · 461 阅读 · 0 评论 -
【转】C++ Vector 使用心得
原文:http://software.intel.com/zh-cn/blogs/2011/08/10/c-vector/?cid=sw:prccsdn1960标准库Vector类型 使用需要的头文件: #include Vector:Vector 是一个类模板。不是一种数据类型。 Vector是一种数据类型。一、 定义和初始化 Vector v1; //默认构造函数v1为空 Vector v2原创 2016-01-25 16:30:30 · 311 阅读 · 0 评论 -
【转】select,iocp,epoll,kqueue及各种I/O复用机制
原文:http://blog.youkuaiyun.com/shallwake/article/details/5265287上篇文章太过幼稚,一派胡言,希望没有误导大家。。我也是菜鸟,学习本身就是一个不断追求真理的过程,希望能谅解:)首先感谢kasicass GG指出错误(已经指导我很多次了,非常感谢~~),然后我又查阅了一些资料,再次整理,more seriously and detailedly~首先,原创 2016-01-25 16:30:32 · 588 阅读 · 0 评论 -
【转】关于Socket和IOCP的一些值得注意的地方
转至:http://laokaddk.blog.51cto.com/368606/287039关于Socket和IOCP的一些值得注意的地方 IOCP是一整套高性能的IO操作异步模型,可以用在文件操作也可以用在网络SOCKET操作上面。当用在网络SOCKET上时,在服务器端主要配合AceeptEx WSASend WSASendto来使用,在客户机端主要配合ConnectEx WSARec原创 2016-01-25 16:30:35 · 860 阅读 · 0 评论 -
【转】内存溢出处理方法
原文:http://dowhile.net/forum.php?mod=viewthread&tid=531最近做了个任务,内存溢出问题;静态影像下无问题,可是在动态影像下执行rep时量测元素400-500笔时就会内存溢出,调试很久也无进展,求教各方圣神终无结果,最后找出一篇文章供大家赏阅。如遇到内存溢出问题时或许有点帮助。还有可以链接下载的内存检测工具1. ccmalloc-Linux和Sola原创 2016-01-25 16:30:57 · 489 阅读 · 0 评论 -
VS添加lib库以及代码中相对路径的问题
VS 2005项目中添加lib库 应用程序使用外部库时需要进行加载,两种库的加载本质上都是一样:提供功能和功能的定义。vs2005 c++ 项目设置外部库方法如下: 1. 添加编译所需要(依赖)的 lib 文件 在“项目->属性->配置属性->连接器->输入->附加依赖项”里填写“winsock.lib”,多个 lib 以空格隔开。等同于“#pragma comment(lib原创 2016-01-25 16:31:22 · 5826 阅读 · 0 评论 -
【转】循环原子锁
原文:http://www.cppblog.com/woaidongmao/archive/2008/04/16/47229.htmlInterlockedExchange和InterlockedExchangePointer能够以原子操作方式用第二个参数中传递的值来取代第一个参数中传递的当前值。如果是32位应用程序,两个函数都能用另一个32位值取代一个32位值。但是,如果是个64位应用程序,原创 2016-01-25 16:31:52 · 352 阅读 · 0 评论 -
windows7上可以正常安装的VS2010版本
下载地址:ed2k://|file|cn_visual_studio_2010_professional_x86_dvd_532145.iso|2591844352|6001253431AFE573E4344F5A0B1D9CAC|/ 管理员在2009年8月13日编辑了该文章文章。 -->原创 2016-01-25 16:32:18 · 444 阅读 · 0 评论 -
atoi() & itoa()函数的内部的实现
点击(此处)折叠或打开/****atox.c - atoi and atol conversion** Copyright (c) 1989-1997, Microsoft Corporation. All rights reserved.**Purpose:* Converts a character string into an int or long.原创 2016-01-25 16:32:56 · 302 阅读 · 0 评论 -
用VC + Eclipse调试jni的native代码
原文:http://www.4ucode.com/Study/Topic/1232782最近,有用到Jni,于是要写一些测试代码,查了Jni文档后,还是觉得,调试很麻烦,于是就想能否用VC来调试。答案是可以的,大致过程如下:1.在Eclipse中创建Java工程,编写好调用Jni的java代码,比如如下的JniBridge类:点击(此处)折叠或打开package com原创 2016-01-25 16:33:25 · 455 阅读 · 0 评论 -
【转】Code::Blocks 编译参数的相关设置
原文:http://blog.youkuaiyun.com/wl076/article/details/6001757Code::Blocks 编译参数的相关设置 ***************************************************** code::blocks设置cflags参数Settings ==> Compiler and debugger ==> Compiler原创 2016-01-25 16:34:00 · 660 阅读 · 0 评论 -
x64环境下CodeBlocks编译动态链接库的问题
Linux上的CodeBlocks编译动态链接库文件时,如果提示这个错误:/usr/bin/ld: ojb/Debug/main.o: relocation R_x86_64_32 against '__gxx_personality_v0'cannot be used when making a shared object; recompile with -fPIC需要设置编译选项,如下原创 2016-01-25 16:34:04 · 1280 阅读 · 0 评论 -
Linux互斥锁pthread_mutex_t
原文:http://hi.baidu.com/hxj_bd/blog/item/81ac1c7fa31fa2ec0ad1870a.html互斥锁pthread_mutex_t的使用 1. 互斥锁创建 有两种方法创建互斥锁,静态方式和动态方式。POSIX定义了一个宏PTHREAD_MUTEX_INITIALIZER来静态初始化互斥锁,方法如下: pthrea原创 2016-01-25 16:35:00 · 377 阅读 · 0 评论 -
【转】基本JNI调用技术(c/c++与java互调)
在C/C++中调用Java的方法一般分为五个步骤:初始化虚拟机、获取类、创建类对象、调用方法和退出虚拟机。1. 初始化虚拟机代码如下:点击(此处)折叠或打开JNIEnv *env;JavaVM *jvm;JavaVMInitArgs vm_args;JavaVMOption options[3];int res;//设置参数options[0].op原创 2016-01-25 16:35:08 · 293 阅读 · 0 评论 -
【转】使用JNI进行混合编程:在C/C++中调用Java代码
原文链接:http://www.cnblogs.com/icejoywoo/archive/2012/02/24/2367116.htmlJNI就是Java Native Interface, 即可以实现Java调用本地库, 也可以实现C/C++调用Java代码, 从而实现了两种语言的互通, 可以让我们更加灵活的使用。通过使用JNI可以从一个侧面了解Java内部的一些实现。本文使用的环境是原创 2016-01-25 16:35:11 · 408 阅读 · 0 评论 -
如何通过JNI传递对象执行回调
原文:http://blog.youkuaiyun.com/coutcin/article/details/1350245 JNI的全称是java native interface,用来调用某些特定于系统平台或者硬件的操作,但是它只能调用c/c++的代码,若是其它语言代码,只能通过c/c++进行二次调用。关于JNI的完整技术文档,大家可以查看下面这个网址:http://java.sun.com原创 2016-01-25 16:35:13 · 2054 阅读 · 0 评论 -
C++回调函数调用Java接口抽象函数
原文:http://www.diybl.com/course/3_program/c++/cppjs/20110103/552247.html项目中很多代码采用C++编写,配置界面则采用BS结构,使用Java语言进行设置。因此需要实现Java调用C++编写的函数库(dll文件或so文件),采用的技术为JNI(Java Native Interface),对于常用的调用方式在《The Java原创 2016-01-25 16:35:16 · 1775 阅读 · 0 评论