草庐IT

c++ - 非托管 C++ 垃圾收集帮助

我是一名.net程序员,对非托管代码没有太多经验。我一直在对一个非托管项目进行修改和添加,一切都运行良好。关于垃圾回收我需要关注哪些类型的代码/对象,您能给我一些建议吗?TIA 最佳答案 没有。C++没有垃圾收集器。 关于c++-非托管C++垃圾收集帮助,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3586166/

c++ - 使用 VS2010 创建 C++ 非托管 DLL

我在VS2010中创建了一个dll项目(Win32控制台应用程序>dll)。我在编译的时候在项目中放了一些头文件我得到这个错误:errorLINK2001:unresolvedexternalsymbol_dllmaincrtstartup@12这是什么?我该如何解决?头文件还定义了一些抽象类。 最佳答案 使用/NOENTRY选项,这是创建resource-onlyDLL所必需的。使用此选项可防止LINK将对_main的引用链接到DLL中。项目属性页->链接器->高级:无入口点设置为是(/NOENTRY)“包含使用/clr编译的对象

c# - 对内存位置的无效访问 - 管理到非托管代码

我在c++中有这段代码,我通过dll导出了它:typedefstruct{unsignedshortmajor;unsignedshortminor;}Version;EXPORTED_FUNCResultInit(Version*version,char*file);extern"C"ResultInit(Version*version,char*file){if(file){if(!GFile.init(string(file))){returnINVALID_PARAMETER;}if(version){version->major=VERSION_MAJOR1;version-

c++ - 在桌面应用程序中托管 Metro 应用程序

我是Win32C++编程的新手。现在,我想创建一个能够托管metro(AppContainer)应用程序的应用程序。似乎可以使用这些COM接口(interface):IApplicationDesignModeSettings(MSDNlink)IApplicationActivationManager(用于启动Metro应用)我能够使用IApplicationActivationManager正常启动应用程序,但要能够在窗口内托管应用程序,应用程序需要在设计模式下启动。为了能够在设计模式下启动应用程序,我需要设置IApplicationDesignModeSettings,这需要初始

python - llvm 可以从托管语言执行代码吗?

我正在制作一个应用程序,我想使用ExecutionEngine加载和执行llvm位码。到目前为止,我已经设法使用通过clang编译的非常简单的C代码来做到这一点。我的想法是,如果我在这个项目中使用llvm,那么它可能比语言更不可知,特别是选择lua/python/javascript。但我对这如何适用于托管或脚本语言感到困惑,因为它们通常与具有GC等资源的平台相关联。所以我不确定它实际上是如何通过ExecutionEngine工作的。作为示例场景,假设用户想要编写一些在我的应用程序中运行的python代码。然后我希望他们向我提供代表该python代码的位码,然后我将使用llvm的Exe

c# - 未导出成员函数时从 C# 调用 C++ native /非托管成员函数

我有一个非托管DLL,它仅导出一个C样式的工厂方法,该方法返回一个类的新实例(此处进行了简化以使其看起来简单)。你好.h#ifdefined(HWLIBRARY_EXPORT)//insideDLL#defineHWAPI__declspec(dllexport)#else//outsideDLL#defineHWAPI__declspec(dllimport)#endifstructHelloWorld{public:virtualvoidsayHello()=0;virtualvoidrelease()=0;};extern"C"HWAPIHelloWorld*GetHW();你好

c# - 从 ASP.NET webservice 调用有状态的非托管 C++ 类

我继承了一个完成了一半的应用程序,它似乎使用了一个我不确定能否可靠工作的模型。它是一个ASP.NETweb服务,在每次调用时加载一个非托管的C++.DLL使用[DllImport("kernel32.dll",EntryPoint="LoadLibraryA")]publicstaticexternintLoadLibrary(stringlpLibFileName);然后对其进行多次调用,例如[DllImport(@"MyUnamanagedDLL.dll")]publicstaticexternstringDoStuff();在非托管C++.dll中,它使用单例来保持调用之间的状态

c# 将文件指针传递给非托管 c++ dll 以用于标准输出

请耐心等待-我是一名C#开发人员,对C++的经验很少,这是一个陡峭的学习曲线!在C#控制台应用程序中,我从非托管C++dll调用一些方法。DLL写入stdout流,尽管c#控制台未拾取它。我找到了以下代码,我将其添加到C++dll中,现在它成功地将“printf”的内容发送到C#控制台。#include#include#include#includevoidredirect_stdout(){inthConHandle;longlStdHandle;FILE*fp;//allocateaconsoleforthisappAllocConsole();//redirectunbuffer

c# - 如何将非托管 C++ dll 添加到 Silverlight 5 项目中

我需要在Silverlight5项目中使用我自己的非托管C++dll。因为我可以使用dllImport来使用它,即[DllImport(@"D:\myLib\Debug\myLib.dll")]staticexternintadd(IntPtrptr);它工作正常,因为我在DllImport中提到了绝对路径。但我的问题是,我想使用相对路径。因为我需要在我的silverlight5项目中添加非托管C++dll并从那里指定路径。我从过去两天开始调查,但没有找到解决此问题的方法。只有我找到了下面提到的一个相关链接,但它也没有帮助。http://msdn.microsoft.com/en-us

c# - 将数据从非托管代码传递到托管代码

我有一个三层应用程序:托管C#层。托管的c++/cli层。非托管C++层。第二层作为c#和nativec++的通信层。publicclassManagedResult{publicfloat[]firstArray;publicfloat[]secondArray;}和非托管类classUnmanagedResult{public:float*firstArray,secondArray;intarrayLength;UnmanagedResult(){};~UnmanagedResult(){};}我在第二层有一个输出托管对象的类的以下方法:ManagedResult^CLICont