Run*_*tar 5 assemblies using c++-cli reference include
我想知道Visual Studio,其他IDE以及任何其他类型的环境(即根本没有IDE)如何处理来自外部的代码.
起初我认为#includes是唯一的方法,通过将汇编文件放在Visual Studio汇编文件的指定目录中,然后使用<>格式将它们引入,或者将汇编文件放在项目中目录并使用""格式将它们带入(即分别为<>和"").但是现在我在这篇文章的最后给出了#using指令的例子(注意,它不同于'using'指令而没有'#',用于命名空间).另外,我在"配置属性"对话框中遇到了在visual studio中添加程序集引用.
那么,有人会让我直接了解在给定项目中添加汇编文件和其他代码的所有内容吗?
- 以下是让我困惑的例子 - >我的书中有这一部分说明:
"......该图将C++ 2008代码与传统C和本机C++代码结合在一起.它还提供了最常用于C++ 2008的两个程序集参考文件及其相关的命名空间.与使用Visual Studio开发时不同在编写单个源文件时,默认情况下不包含程序集引用文件.因此,必须为这些文件编写#using指令...."
#include <stdio.h>
#include <iostream>
#using <system.dll>
#using <system.windows.forms.dll>
// Associated namespace directives
using namespace std;
using namespace System;
using namespace System::Windows::Forms;
void main()
{
printf( "Hello, Earth\n"); // from stdio.h
cout << "Hello, Mars\n"; // from iostream
Console::WriteLine("Hello, Jupiter"); // from system.dll
MessageBox::Show ("Hello, Saturn"); // from system.windows.forms.dll
}
Run Code Online (Sandbox Code Playgroud)
这不是本机C++(通常简称为C++),而是C++/CLI,它实际上是一种.NET语言,旨在简化本机代码和托管代码之间的交互,因此可以同时使用这两种语言.然而,尽管有着强烈的相似性,但它绝对不是C++.程序集是.NET托管代码存储库.您可以使用该#using
命令来使用它们.#include
适用于本机C++标头.您还应该能够#using
从项目的属性中添加托管引用(即,但始终为您完成).
在本机C++中,您必须使用#include
标头,并在适当的情况下链接到.lib
文件(或GetProcAddress
手动使用),Visual Studio也提供#import
COM库.C++/CLI还提供#using
了引入托管程序集的功能.
void main()
{
printf( "Hello, Earth\n"); // C native code
cout << "Hello, Mars\n"; // C++/CLI's wrapper on C++ Standard
Console::WriteLine("Hello, Jupiter"); // .NET managed code
MessageBox::Show ("Hello, Saturn"); // A thin wrapper on WinAPI
}
Run Code Online (Sandbox Code Playgroud)
如果您还不知道C++和.NET代码,并且/或者您没有尝试将两者链接在一起,则不建议使用C++/CLI.