标签: managed

如果ANSI C++不支持多线程,那么非托管C++应用程序如何成为多线程?

我听说C++没有为多线程提供原生支持.我假设多线程C++应用程序依赖托管代码进行多线程处理; 也就是说,例如,Visual C++应用程序使用MFC或.NET或类似的东西来提供多线程功能.我进一步假设某些或所有托管代码功能对于非托管应用程序不可用.但我读过有关非托管多线程应用程序的内容.这怎么可能?我的哪些假设是假的?

c++ multithreading unmanaged managed

3
推荐指数
1
解决办法
2564
查看次数

如何在Visual C++中创建非托管Windows GUI?

当我创建一个"Windows窗体应用程序"时,生成的程序是一个托管程序.创建"Win32应用程序"会产生本机,但是当我尝试添加表单时,如果我继续,我会通知项目将转换为CLI.如何使用Visual C++ 2008 Express Edition设计本机Windows GUI?我可能在这里很傻,但我无法理解.

c++ user-interface native managed visual-c++

3
推荐指数
1
解决办法
1万
查看次数

IIS7模块 - 托管还是本机?


由于旧的ISAPI过滤器迟早会死掉,我想将IIS 6中使用的旧ISAPI过滤器重写为一个模块,以便在IIS 7中使用.该模块将在全局范围内使用,这意味着它将在每个模块中使用.站点,在安装了IIS 7.5的Windows Server 2008 R2上,将承载数千个网站并管理大约50个应用程序池.
我现在的问题是,我是否应该在托管或非托管代码中编写该模块?我对托管代码的一个担忧是由于.NET框架开销导致的大量内存消耗.我不知道这会如何影响服务器的性能.
我已经在托管代码和非托管代码中编写了模块.所以这不是我的决定困扰.但是如果没有巨大的缺点,我宁愿用C#编写模块.
关于这个问题的任何建议?

iis-7 module native unmanaged managed

3
推荐指数
1
解决办法
4561
查看次数

WPF应用程序只是托管代码吗?

我想在一个应用程序中使用WPF.我想用C++编写它.是否必须管理应用程序?我知道我可以将管理与非托管混合使用.我想知道我是否可以让整个应用程序不受管理.

c++ wpf unmanaged managed

3
推荐指数
1
解决办法
1487
查看次数

C#中的非托管C++类

我可以从C#代码实例化和"使用"非托管C++类(比如使用DllImport等)吗?

c# c++ unmanaged managed

3
推荐指数
1
解决办法
499
查看次数

输出窗口中的错误 - 已管理'已退出,代码为-2147023895(0x800703e9)

我无法在Visual Studio 2008中运行Windows应用程序.程序一直正常工作,直到我在输出窗口中出现错误 - "程序"[2260] MUS3.vshost.exe:Managed'已退出,代码为-2147023895 (0x800703e9)."甚至在代码开始执行之前就会发生这种情况.

有帮助吗?提前致谢

我将整个错误放在这里

'MUS3.vshost.exe'(已管理):已加载'D:\ Documents and Settings\Administrator\Desktop\MUS TEMP\trunk\Dev\Source\Source\Binaries\MUS3.exe',已加载符号.忽略来自未知线程的托管异常.程序'[2260] MUS3.vshost.exe:Managed'已退出,代码为-2147023895(0x800703e9).

memory-management managed thread-safety visual-studio-2008 visual-studio

3
推荐指数
1
解决办法
2万
查看次数

为什么我的多线程C++ .NET应用程序在视觉工作室之外执行时才会崩溃?

我使用托管代码和非托管代码创建了一个非常简单的C++ .NET应用程序来复制我的问题.

当用户单击一个按钮时,新的线程应该生成并执行一些耗时的任务,同时通过状态更新回调我的主线程.

此代码在Visual Studios Express 2010中编译并成功执行.也就是说,当我单击"播放"按钮时,我的项目构建并执行而不会崩溃.但是,如果我转到可执行文件所在的Release文件夹并运行它,则单击该按钮后应用程序将崩溃.我正在使用/ clr和Release模式进行编译.

我创建一个表单并添加一个按钮.这就是Form1.h的代码:

#pragma once

#include "core.h"
#include <Windows.h>
#include <process.h>

namespace RepErr {

    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;

    using namespace System::Runtime::InteropServices;

    int x;

    /// <summary>
    /// Summary for Form1
    /// </summary>
    public ref class Form1 : public System::Windows::Forms::Form
    {
    public:
        Form1(void)
        {
            InitializeComponent();
            //
            //TODO: Add the constructor code here
            //
        }

    protected:
        /// <summary>
        /// Clean up any resources …
Run Code Online (Sandbox Code Playgroud)

.net c++ clr unmanaged managed

3
推荐指数
1
解决办法
1245
查看次数

我应该为非托管C++ DLL创建C++/CLI包装器DLL吗?

我已经提供了一个包含几个类的非托管C++ DLL.

我需要能够在C#中使用其中一些类.根据我到目前为止的研究,听起来我需要创建一个C++/CLI包装器DLL来处理托管和非托管类型之间的转换.我已经看到一些例子,其中有人基本上会创建每个类的C++/CLI版本,它将包含非托管C++类型的实例.实现我在这里尝试做的最好的方法是什么?非托管DLL中可能提供了10-15个类.现在我只需要使用其中的一些,但将来可能需要使用更多.谢谢!

c# c++ unmanaged managed command-line-interface

3
推荐指数
1
解决办法
937
查看次数

Salt-stack:在管理文件公式中替换/添加minion名称到文件

我正在使用New Relic监视我的Salt托管的EC2服务器,我试图在newrelic-sysmond confic文件中插入"hostname = minion-name",因此它们显示在New Relic的仪表板中,具有可重新调整的名称,而不是EC2默认为"ip-123-133 ......".

我使用salt-cloud旋转我的实例,然后应用以下状态(通过顶层文件)以运行New Relic sysmond:

newrelic-repo:
  pkg:
    - installed
    - require:
      - pkgrepo: <my private repo defined elsewhere, just convenient rpm storage>

newrelic-sysmond:
  pkg:
    - installed
    - require:
      - pkg: newrelic-repo
  service:
    - running
    - watch:
      - file: /etc/newrelic/nrsysmond.cfg

/etc/newrelic/nrsysmond.cfg:
  file.managed:
    - source: salt://newrelic/nrsysmond.cfg
    - user: newrelic
    - mode: 744
    - require:
      - pkg: newrelic-sysmond
Run Code Online (Sandbox Code Playgroud)

关键是:/etc/newrelic/nrsysmond.cfg托管文件是一个带有我个人帐户密钥的版本,New Relic设置所需,所以我的所有机器都是一样的.

有没有办法让我hostname=my_placeholder在那个文件中有类似的东西,然后在我的sls配置中,以便当状态被应用my_placeholder成为奴才名称?

通过states.file doc(http://docs.saltstack.com/ref/states/all/salt.states.file.html)挖掘我觉得这是可能的,但我缺少一些基础知识来计算它因为我刚刚开始用盐.主要是我认为我只需要一个关于如何引用包含minion名称的变量/ grain的方式,以及正在使用的默认值/上下文的示例.

managed amazon-ec2 newrelic salt-stack

3
推荐指数
1
解决办法
2945
查看次数

如何从使用void*的本机函数调用的托管委托中的IntPtr参数获取整数值?

我有本机功能

void SetValue(char *FieldName, void *pValue);
Run Code Online (Sandbox Code Playgroud)

我想改变它来调用早期的set callback/delegate

有签名的

void SetValueDelegate(string fieldName, IntPtr value);
Run Code Online (Sandbox Code Playgroud)

我这样称为本地SetValue:

int IntValue = 0;
SetValue("MyField", &IntValue);
Run Code Online (Sandbox Code Playgroud)

现在我认为我可以将其强制转换为托管委托:

void SetValueDelegate(string fieldName, IntPtr value)
{
    if (fieldName == "MyField")
    {
        int intValue = (int)value;
    }
}
Run Code Online (Sandbox Code Playgroud)

这不起作用.如果施放到长,它的值是204790096.

应该怎么做?

c# pinvoke managed

3
推荐指数
1
解决办法
4318
查看次数