草庐IT

托管所

全部标签

c++ - C# 与非托管 C++ 互操作性的续篇

在字面上和隐喻上用头撞墙一天之后,我请求帮助:我有一个非托管C++项目,它被编译为DLL。我们称它为CPP项目。它目前在非托管环境中工作。此外,我还创建了一个WPF项目,名称为WPFProject。这个项目是一个简单的,目前几乎是空的项目。它包含一个窗口,我希望它使用项目1中的代码。为此,我创建了一个CLRC++项目,该项目应称为InteropProject并且也被编译为DLL。为简单起见,我将附上一些我归结为基础的基本测试代码。CPPProject有以下两个测试文件:测试器.h#pragmaonceextern"C"class__declspec(dllexport)NativeTe

c++ - 非托管代码和unity3d代码之间的双向通信

我有两个应用程序。其中一个是用VisualC++编写的,另一个是一个统一的应用程序,两者都在Windows上运行。在我的场景中,每当用户按下我的C++应用程序中的按钮时,我想调用一个统一函数并绘制一个对象。到目前为止,我已经尝试通过调用mono_domain_assembly_open将unity可执行文件加载到与c++应用程序相同的地址空间中。但是,它总是返回null,我无法调用mono_jit_exec来运行unity应用程序。是否可以使用单声道在这两个应用程序之间保持双向通信?提前致谢! 最佳答案 这是我的一个旧例子,基于th

java - 混合代码( native 、托管): how does it (technically) interoperate?

我基本理解托管代码和native代码的概念及其difference.但是他们之间如何在技术上进行交流呢?想象一下以下示例:我得到了一些为特定平台编译的静态或动态C++库。现在我写了一个JavaProgramm。在这段代码中,我使用“native”关键字调用库函数。我用字节码构建一个jar文件,c++库文件将保持独立。结果将不再与平台无关。但是java程序如何知道调用的本地方法是否存在?整个程序代码是如何在运行时执行的?我知道字节码将用JIT解释或编译。这一切如何适应沙盒范式?native代码是否也在沙箱内执行?是否因为(java和c++)代码最终都是机器码才行得通?也许这是个愚蠢的问题

.net - 将非托管 C++ 与 F# 混合用于物理 : worth it?

我将开始使用DirectXSDK在非托管C++中编写3D游戏。它会涉及很多物理和数学,尽管我无法预测它会有多复杂(例如,我不知道我是否会将它并行化)。我在想,由于F#的incrediblyawesomeunitsofmeasurefeature,以及它的功能性并因此很好地并行化的事实,我可以编写一个F#库来进行游戏的数学密集型计算。但是:我在C++方面缺乏经验,更不用说将它与托管代码进行交互了。我不知道这会有多辛苦。我不知道对于每个数学密集型计算来说,跳入和跳出托管DLL的速度有多大(每次游戏迭代至少必须运行一个物理方程).我不确定测量单位的增益和简单的并行化是否值得。我的意思是,如果

c# - 如何将非托管 C++ 窗体嵌入到 .NET 应用程序中?

我已经能够成功包装我的非托管BorlandC++dll,并从C#.NET4.0应用程序启动它的表单。是否可以将表单从dll直接嵌入到.NET应用程序中?需要澄清的是,原始表单已经在BorlandC++项目中用作嵌入式控件。它本质上看起来像一个自定义控件,位于应用程序的面板上。当我说“嵌入”时,我的意思是将按钮、面板等放置到表单中的方式与将按钮、面板等放置到表单中的方式相同。我不想只制作一个子表格。如果这不可能,那么也许更好的问题是如何将不受管理的自定义控件嵌入到.Net应用程序中? 最佳答案 是的,您只需要使用user32.dll中

c++ - 从非托管 C++ 创建 DLL

我目前有一个用非托管C++编写的控制台应用程序,源代码由一个入口点main和一些其他函数组成。我需要从这段代码创建一个DLL,以便我可以在其他项目中使用它,特别是在托管C++中。(另一个问题:我是否必须为此目的编写一个包装类?)据我所知,托管/非托管C++和创建DLL几乎一无所知,我遵循了thistutorial并设法仅使用VS2010(无CMake)启动并运行一个简单的HelloWorldDLL。但是,我的这个项目有很多依赖项(例如PointCloudLibrary),所以我通常使用CMake生成VisualStudio2010解决方案,然后将其构建到可执行文件中,如PCLTutor

c# - 导出托管 C# 函数以将更改的 char* 参数返回到非托管代码

我有一个nativeC++(我认为)应用程序,可以将其配置为加载某个dll并调用一个函数。此函数返回int,接受四个参数,应至少更改两个参数中的一个并返回一个值。根据手册,此函数应在C++中定义为:__declspec(dllexport)intfuncName(constchar*par1,constchar*par2,char*par3,char*par4);但是,根据需求,这个功能应该用C#实现。我正在使用UnmanagedExports以允许我使用:[DllExport("funcName",CallingConvention.Cdecl)]publicstaticunsafe

c# - 从 C# 使用托管 C++ dll

我使用托管C++创建了一个dll。现在我正尝试从C#中使用它。我已将对象添加到项目引用中。对象浏览器正确显示了dll中的对象,对象浏览器中dll的路径与实际路径一一对应。但是,当我运行C#程序时它会提示:UnhandledException:System.IO.FileNotFoundException:Thespecifiedmodulecouldnotbefound.(ExceptionfromHRESULT:0x8007007E)知道还需要做什么吗?谢谢。 最佳答案 我认为您遗漏了托管C++程序集对其他程序集或dll的引用。

c++ - 如何在非托管 C++ 代码中检查字符串是否具有有效的文件路径或目录路径格式?

我想知道如何检查(在非托管VisualC++代码中)字符串是否具有表示文件路径或文件夹路径的有效格式。在这种情况下,物理文件或文件夹路径本身可能存在也可能不存在。检查正确的字符串格式是我的主要目标。我需要知道一个字符串是否具有作为有效文件路径的正确格式,或者它没有?有很多关于C#的帖子,但没有一篇关于非托管C++的帖子。如何在VisualC++的非托管C++中执行此操作? 最佳答案 唯一100%确定的方法是“尝试”。您可以编写代码来确定简单的情况,但总会有一些问题需要处理,除非您还找出文件所在的驱动器的文件系统,因为Windows允

ios - 是否可以在 Amazon Cognito 中没有托管 UI 的情况下进行社交登录?

我试图了解AmazonCognito是否可以满足我们的需求,它似乎是一项不错的服务,但我找不到任何文档来解释如何在不使用原生移动应用程序上的用户池托管UI的情况下实现身份验证流程。现在我们设法通过电子邮件/密码做到这一点,但我们无法通过Facebook社交登录做到这一点。所以我的问题是:我们使用FacebookSDK获取用户的Facebook访问token,然后呢?我可以在不使用托管UI的情况下接收认知授权代码吗?怎么办?谢谢。 最佳答案 您可以通过重定向直接向联合应用程序进行身份验证,https://'+domain+'/auth