
编程相关
文章平均质量分 69
波特王子
csdn太难用了,唉
展开
-
string浅拷贝及其在dll中运用的注意事项
1.一个原则:某个模块中分配的空间就应该由它来释放!比如说在dll中分配的空间就应由这个dll来释放,而不应该有main来释放,因为dll中用来分配空间的环境可能和main中用来分配的环境不一样。关于这一点window核心编程中的dll里面进行了讲解,但是说真的我还是不明白为什么会这样。但是要记住这个原则!2.mian 中的如下语句: string str1("l10"); string st转载 2009-05-30 10:49:00 · 727 阅读 · 0 评论 -
杂谈系统与VC中的环境变量
在我们在VC里调用外部库写代码时,都会或多或少经历过关于路径设置这个头疼的话题。的确,我曾经几次捉摸,直到现在,才有了一些心得,希望和大家分享。本文有些地方难免有误,还需高手们指正。首先介绍一下Windows中的几类路径变量:1. Windows系统的环境变量:顾名思义,就是系统级别的变量,或者从我们编程的角度来讲,作用域就相当于全局变量。2. Windows用户的环境变量:既然有全局转载 2010-03-31 13:50:00 · 2525 阅读 · 1 评论 -
数组作函数的参数和返回值
同其它变量一样,数组也可以作函数的参数。数组元素只能作函数实参,且同其它变量的用法没有区别。 我们已经知道,数组元素要通过数组名和相应的下标一个个地引用,而数组名可以作函数的实参和形参。当数组作为函数参数时,调用函数中的实参数组只是传送该数组在内存中的首地址,即调用函数通知被调函数在内存中的什么地方找到该数组。在前面我们已经知道了函数参数的值传递方式,调用函数向被调函数传递数据地址的方式,称之为函数参数的引用传递。 对于函数参数的引用传递,除传送数组名外,调用函数还必须通知被调函数:数组转载 2010-07-16 12:01:00 · 2786 阅读 · 0 评论 -
C++调用JAVA方法详解(转)
<br />本文主要参考http://tech.ccidnet.com/art/1081/20050413/237901_1.html上的文章。<br /> <br /><br />C++调用JAVA主要用到了SUN公司的JNI技术, JNI是Java Native Interface的 缩写。从Java 1.1开始,Java Native Interface (JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。相关资料见http://java.sun.com/j2se/1转载 2010-06-05 17:07:00 · 1469 阅读 · 0 评论 -
#pragma pack(1) and #pragma pack(push,1)是什么意思
(1) #pragma pack(1) 作用:调整结构体的边界对齐,让其以一个字节对齐;#pragma pack(1) 使结构体按1字节方式对齐例如:struct sample{char a;double b;};若不用#pragma pack(1)和#pragma pack()括起来,则sample按编译器默认方式对齐(成员中size最大的那个)。即按8字节(double)对齐,则sizeof(sample)==16.成员char a占了8个字节(其中7个是空字节)若用#pragma pack(1转载 2010-06-17 16:10:00 · 3059 阅读 · 0 评论 -
浮点数 四则运算 小程序 利用符号优先级和双栈
来源:http://www.cnblogs.com/xieduo/articles/776665.html 浮点数 四则运算 小程序 利用符号优先级和双栈 /**************四则运算*************/ /***********作者:xiaocui**********/ /***********时间:2006.10.27*******/ /***********版本:v1.0*************/ /*******解决方案: 按照编译原理里面的 算符优先原创 2011-03-28 18:29:00 · 1387 阅读 · 0 评论 -
指针数组和数组指针
指针数组和数组指针下面就简单说说这两个概念:一:指针数组,顾名思义,就是说的首先是一个数组吧,然后数组的元素是指针而已。说明形式为:type *pointer_array[constant1][constant2]...[constantn];例如:int *pai[3];由于‘转载 2011-07-16 23:32:02 · 917 阅读 · 0 评论 -
error C2683: “dynamic_cast”:“XXX”不是多态类型
来源:http://blog.youkuaiyun.com/win2ks/article/details/2312168是的是的,使用dynamic_cast会引发效率上的担忧,但是有时候这是必要的,而有时候,这是必须的,在自己不预加运行时识别策略的时候,如果要使用运行时处理机制,通转载 2011-09-18 05:27:12 · 1429 阅读 · 1 评论 -
memset用法与注意
需要的头文件 or 函数原型 void *memset(void *s, int ch, unsigned n);程序示例:1.unsigned char (*p)[40]=new unsigned char [100][40];memset(p,1转载 2011-09-21 01:21:54 · 1096 阅读 · 0 评论 -
安装 VisualSVN-Server 和 TortoiseSVN 和 AnkhSVN
VisualSVN-Server,安装到服务器上。该工具免费、开源。下载地址:http://www.visualsvn.com/server/download/我当前最新版本是:VisualSVN-Server-2.1.7下载的文件是:VisualSVN-Server转载 2011-10-02 02:02:29 · 627 阅读 · 0 评论 -
将二维数组打印成table的模板函数
template bool PrintTableHtml(const Type (&arr)[Row][Col], const std::string &htmlfile, const std::string &tableInfo){ if(arr == NULL){ return false; } //cout << Row << endl << Col << endl;原创 2011-11-03 22:55:59 · 705 阅读 · 0 评论 -
vs2010的sdf文件和ipch文件夹
vs2010打开某个工程 ,转换成功之后,在工程目录看见一个sdf文件和一个ipch文件夹,都超大(起码几十M),我一个四百多k 的工程,结果用vs打开过后变成了两百多兆。Google之后,一下结果~~这个详细点的解释大家也许发现了,visual studio 2010 中新建一个项目会同时建立一个ipch目录与sdf文件,即使你删掉它,再次打开工程时还是会重新建立。动辄3转载 2011-12-01 16:22:53 · 2320 阅读 · 0 评论 -
深入浅出之正则表达式(ZZ)
转自:http://dragon.cnblogs.com/archive/2006/05/08/394078.html深入浅出之正则表达式(一) 前言 半年前我对正则表达式产生了兴趣,在网上查找过不少资料,看过不少的教程,最后在使用一个正则表达式工具RegexBuddy时发现他的教程写的非常好,可以说是我目前见过最好的正则表达式教程。于是一直想把他翻译过来。转载 2009-12-02 16:29:00 · 1263 阅读 · 0 评论 -
删除目录及其子目录下的.svn文件夹
for /r D:\WordDistance %%a in (.svn\) do @if exist "%%a" rd /s/q "%%a"pause删除一个目录。RMDIR [/S] [/Q] [drive:]pathRD [/S] [/Q] [drive:]path/S 除目录本身外,还将删除指定目录下的所有子目录和文件。用于删除目录树。/Q 安静模式,带 /S 删除目录树时不要求确认原创 2012-06-25 13:32:53 · 634 阅读 · 0 评论 -
对目录下文件进行简单批处理的脚本
::@echo offfor %%P in (70-79\*.TRS) do (echo %%P >>file.lst)for /f "tokens=1,2* delims=. " %%A in (file.lst) do (perl Process.pl %%A.in %%A.out)del file.lstpause先将文件夹下所有文件作为清单列出来,再依次处理清单中的文件,把处原创 2012-06-24 22:42:08 · 901 阅读 · 0 评论 -
win7下用vs2008开发PHP扩展
环境:win7 + vs2008 + cygwin + webserver环境(php5.2.13) php5.2.15源码包生成过程如下:1、环境配置,安装cygwin,这个在生成PHP扩展的框架时有用到,我的安装目录为e:\cygwin 下载地址http://www.cygwin.com/setup.exe2、安装webserver 下载地址 http://blog.l转载 2012-06-29 00:11:22 · 1722 阅读 · 1 评论 -
解决VS2010目录下cl.exe,dumpbin.exe找不到mspdb100.dll的问题
Dumpbin.exe位于 VS的安装目录\VC\bin下,如果点击dumpbin.exe提示 出现mspdb80.dll无法找到的情况,是因为VC\Bin\下没有 “msobj80.dll,mspdb80.dll,mspdbcore.dll,mspdbsrv.exe”这四个文件(在VS2005中并没有这四个文件),解决的方法: 1>直接从Common7\IDE\下复制这四个文件到VC\B转载 2013-05-06 20:40:18 · 5632 阅读 · 0 评论 -
c#调用C++的DLL找不到入口点
C++源码如下: —————————————————a.h—————————————————#ifdef A_EXPORTS#define A_API __declspec(dllexport)#else#define A_API __declspec(dllimport)#endifA_API int F(void);—————————————————a.cpp———转载 2013-05-06 21:36:00 · 1414 阅读 · 0 评论 -
“/r/n”回车与换行
在Windows中:/r 回车,回到当前行的行首,而不会换到下一行;/n 换行,换到当前位置的下一行,而不会回到行首;回车”(Carriage Return)和“换行”(Line Feed)这两个概念的来历和区别。 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33,Linux/Unix下的tty概念也来自于此)的玩意,每秒钟可以打10个字符。但是它转载 2009-12-30 10:52:00 · 687 阅读 · 0 评论 -
ANSI C++特征总结
随着C++的普及,标准的指定成了C++发展的必然趋势。而制订此一标准的工作是由ANSI (American National Standards Institute,美国标准学会)与ISO (International Standardization Organization,国际标准组织)进行。 ANSI规则中的许多新规则都是对最初的C++进行的扩充。也可以不使用这些新的特征。转载 2009-12-26 01:37:00 · 560 阅读 · 0 评论 -
(ZZ)七种qsort排序方法
七种qsort排序方法 一、对int类型数组排序 int num[100]; Sample: int cmp ( const void *a , const void *b ) { return *(int *)a - *(int *)b; } qsort(num,100,sizeof(num[0]),cmp); 二、对char类型数组排序(同int类型) char word[100]; Sam转载 2009-12-10 08:57:00 · 522 阅读 · 0 评论 -
C# C++ dll的相互调用
大家在实际工作学习C#的时候,可能会问:为什么我们要为一些已经存在的功能(比如Windows中的一些功能,C++中已经编写好的一些方法)要重新编写代码,C#有没有方法可以直接都用这些原本已经存在的功能呢?答案是肯定的,大家可以通过C#中的DllImport直接调用这些功能。 DllImport所在的名字空间 using System.Runtime.InteropServices; MSD转载 2009-05-30 11:42:00 · 796 阅读 · 0 评论 -
静态链接库(Lib)与动态链接库(DLL)的区别
静态连接库就是把(lib)文件中用到的函数代码直接链接进目标程序,程序运行的时候不再需要其它的库文件;动态链接就是把调用的函数所在文件模块(DLL)和调用函数在文件中的位置等信息链接进目标程序,程序运行的时候再从DLL中寻找相应函数代码,因此需要相应DLL文件的支持。 静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib 中的指令转载 2009-06-03 21:55:00 · 1089 阅读 · 0 评论 -
Visual Studio 2005中编译调试新功能
Visual Studio 2005中编译调试新功能 在日常的编程中,程序员经常离不开的工作之一,就是调试。当写好一段代码或程序后,在运行后总会出现这样那样的问题,比如各样的错误,程序员就必须进行调试,将这些错误排除。在最新出炉的Visual Studio 2005中,将提供十分强大而方便的调试功能,从而使程序员能节约时间,提高工作效率。本文中,将主要介绍Visual Studi转载 2009-08-29 20:51:00 · 979 阅读 · 0 评论 -
一个编程题
/****************************************************text.txt是一个文本文件,内含8行12列的96个正整数,其中行以’/n’分割,列以’/t’分割。试从这96 个数据中挑选出8 个数据,使得所挑选出的这8 个数据的和尽可能地小。要求每行每列至多只能有一个数据被选中。打印出这个最小和以及这8个数解题思想1:要求每行每列至多只能有原创 2009-09-04 21:01:00 · 571 阅读 · 0 评论 -
Windows脚本 - Bat批处理命令使用教程(转)
照我的理解,批处理的本质,是一堆DOS命令按一定顺序排列而形成的集合。 OK,never claver and get to business(闲话少说言归正传)。批处理,也称为批处理脚本,英文译为BATCH,批处理文件后缀BAT就取的前三个字母。它的构成没有固定格式,只要遵守以下这条就ok了:每一行可视为一个命令,每个命令里可以含多条子命令,从第一行开始执行,直到最后一行结束,它运行的平台是DO转载 2009-09-18 21:29:00 · 6327 阅读 · 0 评论 -
VC 快捷键
Ctrl+O :OpenCtrl+P :PrintCtrl+N :NewCtrl+Shift+F2 :清除所有书签F2 :上一个书签Shift+F2 :上一个书签Alt+F2 :编辑书签Ctrl+F2 :添加/删除一个书签F12 :Goto definitionShift+F12 :Goto referenceCtrl+Num+ :Displays the next转载 2009-09-19 15:30:00 · 620 阅读 · 0 评论 -
在vs2005中安装boost库
1、在网站下载boost_1_35_0文件包。boost老巢http://www.boost.org/。 2、 由于boost是采用其自己的bjam工具通过命令行进行编译的,所以: 如果在Windows下开启console窗口(单击“开始”按钮,单击“运行”,敲入“cmd”),必须将Visual Studio中C++目录下的环境vcvarsall.bat配置脚本运行一遍,以设置好VC的编译转载 2009-09-22 17:31:00 · 2075 阅读 · 0 评论 -
ofstream和ifstream详细用法
ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间;在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符:1、插入器( 向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout2、析取器(>>) 从流中输入转载 2009-10-28 15:17:00 · 571 阅读 · 0 评论 -
CString常用方法简介
CString::Compareint Compare( LPCTSTR lpsz ) const;返回值 字符串一样 返回0 小于lpsz 返回-1 大于lpsz 返回1 区分大小字符 CString s1( "abc" );CString s2( "abd" );ASSERT( s1.C转载 2009-11-18 13:56:00 · 553 阅读 · 0 评论 -
#pragma once与#ifndef的区别(ZZ)
为了避免同一个文件被include多次1 #ifndef方式2 #pragma once方式在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。 方式一: #ifndef __SOMEFILE_H__ #define __SOMEFILE_H__ ... ... // 一些声明语句 #e转载 2009-11-19 23:10:00 · 459 阅读 · 0 评论 -
dll Release与使用
dll Release与使用1.解决方案属性页->项目默认属性->配置类型->动态库.dll2.把要发布的dll接口放入一个头文件中,例如frontend.h,例如:#ifdef DLL_FRONTEND_V1_1_H_H#else#define DLL_FRONTEND_V1_1_H_H extern "C" _declspec(dllimport)#endifDLL原创 2010-01-24 00:45:00 · 1297 阅读 · 2 评论 -
boost正则表达式(zz)
什么是正则表达式?正则表达式是一种用来描述一定数量文本的模式。Regex代表Regular Express. 如果您不知道什么是正则表达式,请看这篇文章:深入浅出之正则表达式 有了正则表达式的基础,问题是如何使用。我们以boost::regex来说 先看一个网上经典的例子。 #include "stdafx.h"#include #include #i转载 2009-12-02 16:10:00 · 4356 阅读 · 0 评论 -
STLport && BOOST配置(ZZ)
STLport配置:1.下载STLport(当前版本为STLport-5.2.1)2.在C:/Program Files/Microsoft Visual Studio 9.0/VC/bin下运行vcvars32.bat3.在D:/vc_lib/STLport-5.2.1/STLport-5.2.1下用命令行执行:configure.bat msvc94.在D:转载 2009-12-04 09:30:00 · 1163 阅读 · 0 评论 -
#undef指令
#undef指令 TAG:预编译和宏定义,ANSI C,取消符号常量定义命令TEXT:取消符号常量定义命令,语法形式如下:#undef符号常量名称(或编译标志)其作用取消最近一次#define符号常量名称(或编译标志)命令,使定义的符号常量或编译标志失效。例11-3 分析如下的代码#include "stdio.h"void Tes原创 2009-12-04 09:24:00 · 1185 阅读 · 0 评论 -
LeakDiag使用手记
LeakDiag是微软一款检测memory leak的工具,使用比较简单首先去下载一个ftp://ftp.microsoft.com/PSS/Tools/Developer%20Support%20Tools/LeakDiag/安装好,默认是在c:/leakdiag然后写一个测试程序来测试#include stdio.h>#include windows.h>int main(){ wh转载 2010-01-30 22:01:00 · 1008 阅读 · 0 评论 -
Boost编译方法
方法一:经历了将近半年多的时间boost终于发布了1.35.0版本(前版本1.34.1发布于2007/7),其编译方法和原来的编译方法基本上是一致的,主要改变包括1.34.0以来bjam的toolset所提供的参数名称的改变(具体参见《boost1.34.0编译日志》)外,还包括bjam的编译默认选项的变化,在1.35.0之前的版本默认编译时会自动编译各种版本的库,包括静态库、动态库、debu转载 2009-12-03 16:40:00 · 11414 阅读 · 0 评论 -
C++设置和获取当前工作路径
#include #include #include using namespace std;int main(){ char buf[1000]; int i=1000; GetCurrentDirectory(1000,buf); //得到当前工作路径 cout char strModule[256]; GetModuleFileName(NULL,strModule,转载 2010-02-02 19:53:00 · 2090 阅读 · 0 评论 -
Breaking news: HTML+CSS is Turing complete
A programming language is Turing complete if it equivalent to a Turing machine. In practice, it means that any algorithm can be implemented. Most programming languages are Turing complete, including转载 2014-05-26 10:11:06 · 1210 阅读 · 0 评论