草庐IT

c++ - 如何在 Visual Studio 2008 中创建 COM DLL?

自从我编写COMdll以来已经有很长时间了。我现在已经制作了几个类,它们继承自某些COM接口(interface),但我想对其进行测试。我知道我必须在某处放置一个GUID,然后使用regsvr32注册它,但涉及哪些步骤?编辑:抱歉,忘了说我正在使用C++。 最佳答案 要创建一个新的ATLCOM项目,您可以按以下步骤进行:文件/新项目VisualC++/ATL/ATL项目自定义设置,完成后按完成您已经创建了一个新的dll,但它是空的,要添加一个COM对象,您可以这样做:项目/添加类VisualC++/ATL/ATL简单对象,按添加输入

c++ - 从 VS2008 迁移到 VS2010 时要记住的事情

因此,我将很快着手移植两个API(C++和C++/CLI)以使用VS2010编译器。我认为在这方面抢先一步是个好主意。有什么建议吗? 最佳答案 概述了对C++/STL项目的重大更改here.vs2010还将在MSBuild的for中使用不同的构建机制。.不幸的是,vs2010won'textendtoC++/CLI中改进后的Intellisense有些人对此不太满意,但是native代码开发人员可以期待一个响应速度更快的环境(希望如此)。 关于c++-从VS2008迁移到VS2010时要

c++ - VS2008 : Can I build a project with 2 CPP files of the same name in different folders?

这是我的文件夹结构:/|--program.cpp--utility.h--utility.cpp|--module/|--utility.h--utility.cpp//NotethatIhavetwofilesnamedutility.handtwonamedutility.cpp在构建项目时,我收到链接错误(LNK2028:未解析的token等...),指出某些符号未定义。我已经确认所有符号都已定义,并且所有声明的函数都有相应的定义。我有一种感觉,在编译我的项目时,两个文件夹中的utility.cpp文件被编译到输出文件夹中的相同utility.obj中。结果,一个覆盖了另一个。

c++ - 优化后的 VS2008 中 "<<"和 "++"的运算符优先级

我遇到了一个奇怪的VS2008C++问题,看起来好像没有遵守运算符优先级。我的问题是这个输出是什么:inti=0;std::cout通常是++优先于,正确的?或者是被认为是一个函数调用,赋予它比++更高的优先级?100%正确的标准答案是什么?为了检查,我创建了一个新的空项目(VS2008控制台应用程序),仅将这段代码粘贴到主目录中,结果如下:Debug|Win32:“zero1”Release|Win32:“zero1”Debug|x64:“zero1”Release|x64:“Notzero1”顺便说一句,下面的例子产生了完全相同的结果:i=0;printf("%s%d\n",((i

c++ - 如何使用 Visual Studio 2008 构建 libevent 版本 2.0.10

有人对使用VisualStudio2008构建libevent-2.0.10有明确的说明吗? 最佳答案 然后使用VisualStudio命令提示符cd\where\you\put\itnmake-fmakefile.nmake或者,如果您更喜欢IDE,则选择File+New+Project、VisualC++、General节点,然后选择MakefileProject模板。名称=libevent-2.0.10-stable,位置=父目录(\where\you\put)。好的。下一个。构建命令=nmake-fmakefile.nmak

c++ - 在 vs2008 中使用 CurlPP

我正在尝试使用静态curlpp库在VS2008中构建一个C++控制台应用程序。代码-这是curlpp示例00-如下所示:#include"stdafx.h"#include#include#includeusingnamespacecurlpp::options;intmain(int,char**){try{//Ourrequesttobesent.curlpp::EasymyRequest;//SettheURL.myRequest.setOpt("http://example.com");//Sendrequestandgetaresult.//Bydefaulttheresul

c++ - 与 VS6 相比,VS2008 C++ 编译中的巨大 OBJ 文件

我们有一个大型项目,超过100万行代码包含大约300个DLL。到目前为止,我们一直在使用VS6。我现在已经将所有内容转换为VS2008,包括所有编译、链接以及更重要的-运行!==>但是...生成的编译OBJ文件大了10倍并且链接非常慢,链接器经常占用>1GB的内存。部分含义是我需要使用/bigobj编译某些项目。结果是从桌面上的大约1:45到3小时的构建。DLL和LIB的大小与旧VS6版本中的大小大致相同。我已经阅读了所有我能在这里找到的内容,但没有找到解决这个问题的方法。如果它是额外的DEBUG信息-我不想要它。我以前受够了。版本中的大小增加了,但没有那么多......有人知道吗?还

c++ - c/c++ (VS2008) 将宏参数用引号引起来

对于需要一定程度调试的C应用程序中的大量函数调用,我想添加一个宏来简化我必须执行的输入操作。现在我正在调用这样的函数:aDebugFunction(&ptrToFunction,__LINE__,"ptrToFunction",param1,param2,etc)所以我想让我们写一个宏来为我处理前3个参数,如下所示:#defineSOMEDEFINE(x)&x,__LINE__,"x"但是,正如你们中的大多数人马上就会知道的那样,这是行不通的,因为它不会将“x”替换为给定的x名称,而是将“x”作为第三个参数传递。我对这个预处理器宏发生的事情的了解非常有限,因此我的谷歌搜索能力也很无用,

c# - 面向 future 的大型 UI 应用程序 - 具有 2008 功能包的 MFC 或 C# 和 Winforms?

我的公司使用VisualC++中的MFC作为UI开发的事实标准开发了一个长期存在的产品。我们的代码库包含大量必须保持运行的遗留/陈旧代码。其中一些代码比我还早(最初是在70年代后期编写的),我们团队的一些成员仍在使用VisualStudio6。不过,值得庆幸的是,内部得出的结论是,与竞争对手的产品相比,我们的产品看起来有些过时,需要采取一些措施。我目前正在开发UI的一个新区域,该区域与产品的其余部分完全不同。因此,我有机会尝试"new"技术堆栈,作为一种试验场,然后再开始漫长的UI其余部分迁移过程。我在业余时间使用C#与WindowsForms和.netFramework有一段时间并且

c# - Visual Studio 2008 文件夹浏览器对话框

在VisualStudio2008中有一个文件夹浏览器对话框,如下所示(与文件打开对话框非常相似):有谁知道如何从代码中调用它? 最佳答案 如果您使用的是C#,则此解决方案适合您。此处提供的源代码:http://www.lyquidity.com/devblog/?p=136(.NETWin7风格的文件夹选择对话框)。您不需要使用整个库(如VistaBridge)或WindowsAPI代码包来获得漂亮的文件夹对话,只需两个小源文件即可。给你一个像这样的漂亮的文件夹对话: 关于c#-Vis