小编Joe*_*Joe的帖子

C#中的C/C++代码编译器

在C#中,我能够使用下面的代码编译VB和C#代码,但我无法编译C/C++代码.有没有办法做到这一点?

C#编译器:

        public void Compile(string ToCompile)
        {
            string Result = null;
            string errors = null;
            Microsoft.CSharp.CSharpCodeProvider codeProvider = new Microsoft.CSharp.CSharpCodeProvider();
            System.CodeDom.Compiler.ICodeCompiler icc = codeProvider.CreateCompiler();
            string Output = @"mypath";
            System.CodeDom.Compiler.CompilerParameters parameters = new System.CodeDom.Compiler.CompilerParameters();
            parameters.GenerateExecutable = true;
            parameters.OutputAssembly = Output;
            System.CodeDom.Compiler.CompilerResults results = icc.CompileAssemblyFromSource(parameters, ToCompile);
            if (ReturnErrors == true)
            {
                if (results.Errors.Count > 0)
                {
                    foreach (System.CodeDom.Compiler.CompilerError CompErr in results.Errors)
                    {
                        errors +=
                                    "Line number " + CompErr.Line +
                                    ", Error Number: " + CompErr.ErrorNumber +
                                    ", '" + CompErr.ErrorText + …
Run Code Online (Sandbox Code Playgroud)

.net c c# c++ compiler-construction

6
推荐指数
1
解决办法
6365
查看次数

#define和创建普通类型有什么区别?

在C/C++,正是两者的区别#define[和#ifndef #endif]来创造价值,当你可以很容易地用做intstd::string[C++]吗?

#ifndef MYVAL
#define MYVAL(500)
#endif

//C++

cout << MYVAL << endl;

//C

printf(MYVAL);
Run Code Online (Sandbox Code Playgroud)
//C++

int MYVAL = 500;
cout << MYVAL << endl;

//C
int MYVAL = 500;
printf(MYVAL);
Run Code Online (Sandbox Code Playgroud)

c c++ if-statement c-preprocessor

4
推荐指数
3
解决办法
654
查看次数

C++我什么时候使用 - >或::

我知道,在C++中,您使用->::代替.语言,如C#访问对象的值,例如button->TextSystem::String^,但我不知道我应该使用->::,这是非常令人沮丧,因为它引起了我很多编译器错误.如果你能提供帮助,我将非常感激.谢谢 :)

c++ expression operators

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

为什么我的 KeyPressEvent 不能与右/左/上/下一起使用?

在 C# 中,我试图查看用户是否按下了正确的键,以便玩家向右移动,但是当我尝试时,它没有注册按键:

private void KeyPressed(object sender, KeyPressEventArgs e)
{
      if(e.KeyChar == Convert.ToChar(Keys.Right))
      {
              MessageBox.Show("Right Key");
      } 
} 
Run Code Online (Sandbox Code Playgroud)

它不显示消息框

这也不适用于左/上/下

但是,如果我将其替换为

if(e.KeyChar == Convert.ToChar(Keys.Space))
Run Code Online (Sandbox Code Playgroud)

有用。

难道我做错了什么?

c# keypress

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

C/C++ - 如何(void)不用作参数?

我在C/C++中看到过一些代码如下:

void Main(void)
Run Code Online (Sandbox Code Playgroud)

int Main(void)
Run Code Online (Sandbox Code Playgroud)

这是什么原因:为什么它不是一个参数,而是在void/int等名称之后的括号中使用?

c c++ void

0
推荐指数
1
解决办法
361
查看次数