- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
当我尝试使用默认 C/C++ 设置在 Visual Studio 2017 上编译以下 C 代码时:
#include <stdio.h>
#include <stdlib.h>
/* function declaration */
/*Line 6*/ int max(int num1, int num2, int num3);
int main() {
/* local variable definition */
int a = 100;
int b = 200;
int c = 400;
int ret;
/* calling a function to get max value */
ret = max(a, b, c);
printf("Max value is : %d\n", ret);
return 0;
}
/* function returning the max between two numbers */
/*Line 25*/ int max(int num1, int num2, int num3) {
/* local variable declaration */
int result;
if (num1 > num2)
result = num1;
else
result = num3;
return result;
}
我收到错误:
需要一个标识符:第 6,25 行
应为“;”:第 25 行
Intellisense 突出显示这些行,不会让我运行代码。然而在 Codeblocks 中(使用默认的 GNU GCC 编译器,来自 mingW)这个精确的代码编译得很好。是什么原因造成的?
多个消息来源告诉我,这不是因为使用 GCC 编译器的 Codeblocks和 Visual Studio 默认使用“cl”编译器。
同样的消息来源告诉我,这也不是因为每个 IDE 都可能使用不同的 C 标准编译代码。
我已将文件扩展名命名为“.c”,但出现了这些错误
如果我尝试将代码编译为 c++(或“.c++”文件,它可以工作,但这不是我想要的。我要 C。
我更愿意使用 Visual Studio 而不是 Codeblocks,因为它的外观和菜单布局都很时尚。我也更喜欢 Visual Studio 调试器。
我可以采取哪些步骤在 Visual Studio 2017 上成功编译这个简单的代码?
最佳答案
Microsoft 有一个众所周知的定义 max
macro .如果出于某种原因将宏定义拉入您的源代码,则标记替换将造成严重破坏。我打赌的结果就是你所看到的。主要是因为您自己承认,它只发生在 Visual Studio 中。
解决方案(及其测试)相当简单。其中之一应该“修复”您的代码:
max
重命名为其他名称,例如 my_max
。#define NOMINMAX
以禁止在任何包含的 MS header 中定义宏。除此之外,您将不得不修改项目设置并查看可能设置不当的地方。这不是一个应该自动添加到简单控制台项目中的宏。
关于c++ - 为什么这个 C 代码在 Codeblocks 中编译,而不是在 Visual Studio 中编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51007933/
在我的代码块的文件选项卡中,我看不到文件。文件资源管理器仅显示目录树。 要加载 .cpp 文件,我需要进入我的工作区目录,然后我可以选择在 C::B 中打开它。该文件已加载到 IDE 中,但我无法在文
CodeBlocks 是否有任何快捷方式来格式化代码? 我在谷歌上没有找到任何提示。 我发现只有“格式使用AStyle”,但它只提供鼠标右键...... 最佳答案 默认情况下可能不是,但您应该能够在那
代码块中是否有“重命名文件”选项,而不是通过资源管理器重命名它?我尝试右键单击该选项卡,但似乎没有选项卡。 最佳答案 确保您要重命名的文件未在代码块中打开。在“项目”->“工作区”下,右键单击该文件以
我很难用 Code::Blocks 设置 SDL2 我尝试了一些在谷歌上找到的教程,我也尝试通过在这个网站上搜索来解决问题,但是我没有解决它,每次我在编译一个简单的程序时遇到错误 所以我希望有人好心给
我想自学 SDL,但在第一次尝试时遇到了非常不愉快的问题。我做了一些研究,发现我首先需要让 CodeBlocks 知道库所在的位置。首先,我有 64 字节的操作系统。 就在我读的时候,我把东西放进去:
我安装了 codeblocks,然后编写了代码,但是当我按下构建键时,codeblocks IDE 停止工作。 然后程序关闭。 我该怎么办? 最佳答案 有任何构建消息吗? 我想也许你应该检查你的编译器
我想在代码块中设置默认模板代码。如何在每次打开新项目或空文件时出现的代码块中设置默认代码。 最佳答案 通常创建一个新项目并使用您想要的代码对其进行自定义,然后转到File > 将项目另存为模板。现在,
最好的代码块快捷方式是什么?还有什么方法可以直接缩进我们所有的代码?此外,我们如何在代码块中的事件选项卡中移动? 最佳答案 ] 2 从 添加你想要的快捷方式设置->编辑器->键盘快捷键->插件->源代
谢谢。 因此,当我使用 C 语言将一些代码写入代码块并运行它时,假设代码没有错误,它运行良好。除非我删除可执行文件和目标文件,否则代码的后续修改和运行只会产生我第一次运行代码时的结果。换句话说,它不会
#include #include int main(void) { double a, b, c, root1, root2; printf("Input the coefficient a
我在识别我机器上的 GLFW 库的代码块 10.05 时遇到了一些困难。当我创建一个空项目并复制粘贴此 GLFW 教程中的代码时 >> http://content.gpwiki.org/index.
我已将代码块的背景更改为深色和光标颜色,我也正在从 Settings->Editor->margins and carets 更改.. 但是光标的颜色在一段时间后变回黑色(主要是在'['']'自动完成
我已经开始使用C :: B并发现了一个令人讨厌的问题:我通常在工作区中有许多打开的项目,每当我关闭C :: B时,下次启动时,我都会在“项目”选项卡中丢失所有项目。因此,每次我必须从File->Rec
Closed. This question is off-topic。它当前不接受答案。
#include #include #include int main() { char string; printf("Hello\n"); printf("What w
我定义了以下结构: typedef struct { int num_albaran; char cod_vendedor[5]; char cod_cliente[5];
我尝试运行并浏览我在网上可以找到的所有内容来解决该问题,但它不起作用。到目前为止我已经完成了: 使用 mingw 设置下载了 Codeblocks 13.12(并尝试使用 16.01)。 将graph
主要功能如下: int main (void){ tProyecto proyecto; /*Proyecto a gestionar*/ int opcion; /*
我已经使用 codeblocks 大约 3 个月了,现在它运行得很好。今天我编写了一个简短的程序,当我尝试构建并运行时,IDE 大约需要 1 分钟才能响应(通常需要 5-10 秒)。程序打不开,显示的
我有多个项目,它们一遍又一遍地具有相同的头文件,是否可以创建一个包含所有头文件及其源文件的通用 utils 文件夹? Project files with header files 最佳答案 是的,可
我是一名优秀的程序员,十分优秀!