为啥我用Microsoft Visual C++ 6.0运行c语言文件出错?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥我用Microsoft Visual C++ 6.0运行c语言文件出错?相关的知识,希望对你有一定的参考价值。

我建立的文件叫NO1.c ,程序如下:
#include <stdio.h>
#include <math.h>
main ()

int x=5;
int y=3;
int z;
z=max(x,y);
printf ("z=%d\n",z);

然后按F7,下面出现了这样的字:
--------------------Configuration: NO1 - Win32 Debug--------------------
Compiling...
NO1.c
c:\documents and settings\我.42f88b5d259c4ea\桌面\no1.c(4) : error C2018: unknown character '0xa3'
c:\documents and settings\我.42f88b5d259c4ea\桌面\no1.c(4) : error C2018: unknown character '0xfb'
c:\documents and settings\我.42f88b5d259c4ea\桌面\no1.c(5) : error C2085: 'x' : not in formal parameter list
c:\documents and settings\我.42f88b5d259c4ea\桌面\no1.c(5) : error C2143: syntax error : missing ';' before '='
c:\documents and settings\我.42f88b5d259c4ea\桌面\no1.c(8) : warning C4013: 'max' undefined; assuming extern returning int
c:\documents and settings\我.42f88b5d259c4ea\桌面\no1.c(8) : error C2065: 'x' : undeclared identifier
c:\documents and settings\我.42f88b5d259c4ea\桌面\no1.c(8) : error C2065: 'y' : undeclared identifier
c:\documents and settings\我.42f88b5d259c4ea\桌面\no1.c(8) : error C2099: initializer is not a constant
c:\documents and settings\我.42f88b5d259c4ea\桌面\no1.c(9) : error C2143: syntax error : missing ')' before 'string'
c:\documents and settings\我.42f88b5d259c4ea\桌面\no1.c(9) : error C2143: syntax error : missing '' before 'string'
c:\documents and settings\我.42f88b5d259c4ea\桌面\no1.c(9) : error C2059: syntax error : '<Unknown>'
c:\documents and settings\我.42f88b5d259c4ea\桌面\no1.c(9) : error C2059: syntax error : ')'
c:\documents and settings\我.42f88b5d259c4ea\桌面\no1.c(10) : error C2018: unknown character '0xa3'
c:\documents and settings\我.42f88b5d259c4ea\桌面\no1.c(10) : error C2018: unknown character '0xfd'
执行 cl.exe 时出错.

NO1.obj - 1 error(s), 0 warning(s)
然后我回到桌面一看,发现多了几个文件:NO1.dsp、NO1.ncb、NO1.plg以及一个名叫Debug的文件夹。
请问这是怎么回事?是我的c语言编错了?还是其他的原因?
那,那个大括号怎么打啊?

补充一点 

那个max函数在stdlib.h里 

你可以自己宏定义 

#define max(a,b) (((a) > (b)) ? (a) : (b)) 

将这句写在你的文件前面,只要在使用之前就可以了

英文状态下输入就可以了,或者用输入法的时候,切换到半角且英文符号状态

参考技术A 我复制了你的代码编译了一下,发现:
1、你的函数入口“”用了全角输入,要恢复到半角输入且是英文输入
2、你的语句分号都是用中文分号,要使用英文输入
3、你用的括号也是使用中文输入的,要切换回英文输入
4、至于那个函数max(),不知道你那个<math.h>中有没有这个函数。我这边的好像也没有。
参考技术B 首先,最好不要把程序源文件放桌面上进行编译,这样有时会出现不必要的麻烦。!!在其他盘建一个目录,把程序源放到里面在编译试试!!
其次,多出的几个文件是正常的。如果编译成功,Debug中会有编译后的程序。其他几个文件都可以删掉。
最后,
NO1.obj - 1 error(s), 0 warning(s)//说明有一个错误,零个警告。
c:\documents and settings\我.42f88b5d259c4ea\桌面\no1.c(4) : error C2018: unknown character '0xa3' //说明程序源的第4行有错误。
以此类推,可知,第4、5、8、9、10行都有错误。
参考技术C 拜托,你的函数体括号是英文符号吗? 参考技术D 我复制了你的代码编译了一下,发现: <br>1、你的函数入口“”用了全角输入,要恢复到半角输入且是英文输入 <br>2、你的语句分号都是用中文分号,要使用英文输入<br>3、你用的括号也是使用中文输入的,要切换回英文输入 <br>4、至于那个函数max(),不知道你那个<math.h>中有没有这个函数。我这边的好像也没有。士大夫 第5个回答  2009-02-08 max(x,y);这个是自定义函数要自己写系统不带

为啥cupy安装过程检测不到Microsoft Visual C++?

【中文标题】为啥cupy安装过程检测不到Microsoft Visual C++?【英文标题】:Why can't the cupy installation process detect Microsoft Visual C++?为什么cupy安装过程检测不到Microsoft Visual C++? 【发布时间】:2020-07-23 00:33:19 【问题描述】:

我目前正在尝试使用发布页面上的资产安装最新版本的 cupy (cupy-8.0.0b4.tar.gz),但是当我尝试在我的 MSI (Windows 10) 上安装模块时NVIDIA GeForce RTX 2060显卡安装CUDA Toolkit(11.0.2版)、Python 3.8、Cython和numpy包后,看到如下错误:

building 'cupy.core._carray' extension
    error: Microsoft Visual C++ 14.2 is required. Get it with "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads/
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\users\mjim2\appdata\local\programs\python\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\mjim2\\AppData\\Local\\Temp\\pip-req-build-z9h9y2dz\\setup.py'"'"'; __file__='"'"'C:\\Users\\mjim2\\AppData\\Local\\Temp\\pip-req-build-z9h9y2dz\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\mjim2\AppData\Local\Temp\pip-record-c5iitjqj\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\mjim2\appdata\local\programs\python\python38\Include\cupy' Check the logs for full command output.
---
Exception information:
Traceback (most recent call last):
  File "c:\users\___\appdata\local\programs\python\python38\lib\site-packages\pip\_internal\req\req_install.py", line 827, in install
    success = install_legacy(
  File "c:\users\___\appdata\local\programs\python\python38\lib\site-packages\pip\_internal\operations\install\legacy.py", line 86, in install
    raise LegacyInstallFailure
pip._internal.operations.install.legacy.LegacyInstallFailure

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\users\___\appdata\local\programs\python\python38\lib\site-packages\pip\_internal\cli\base_command.py", line 188, in _main
    status = self.run(options, args)
  File "c:\users\___\appdata\local\programs\python\python38\lib\site-packages\pip\_internal\cli\req_command.py", line 185, in wrapper
    return func(self, options, args)
  File "c:\users\___\appdata\local\programs\python\python38\lib\site-packages\pip\_internal\commands\install.py", line 398, in run
    installed = install_given_reqs(
  File "c:\users\___\appdata\local\programs\python\python38\lib\site-packages\pip\_internal\req\__init__.py", line 67, in install_given_reqs
    requirement.install(
  File "c:\users\___\appdata\local\programs\python\python38\lib\site-packages\pip\_internal\req\req_install.py", line 845, in install
    six.reraise(*exc.parent)
  File "c:\users\___\appdata\local\programs\python\python38\lib\site-packages\pip\_vendor\six.py", line 703, in reraise
    raise value
  File "c:\users\___\appdata\local\programs\python\python38\lib\site-packages\pip\_internal\operations\install\legacy.py", line 74, in install
    runner(
  File "c:\users\___\appdata\local\programs\python\python38\lib\site-packages\pip\_internal\utils\subprocess.py", line 270, in runner
    call_subprocess(
  File "c:\users\___\appdata\local\programs\python\python38\lib\site-packages\pip\_internal\utils\subprocess.py", line 241, in call_subprocess
    raise InstallationError(exc_msg)

我已安装 Microsoft Visual C++ 2015-2019 Redistributable (x86) - 14.26.28720,但程序似乎无法检测到该软件。我很难破译异常的来源。我需要弄清楚如何将程序的文件夹位置硬编码到 python 代码中,或者是否还有其他问题我应该查看。如果有人可以在这里帮助我,我将不胜感激。

【问题讨论】:

PATH 变量中是否包含所有内容的路径? 我会这么认为;我的系统能够检测到 CUDA。如果 C++ 包需要作为环境变量,那么它的路径是什么? 尝试查看 Developer 命令行是否与 C++ 工具一起安装。从那里您可以找到开发人员命令行的可执行文件的路径,然后找到包含 cl.exe 的 bin 文件夹。然后将该路径添加到您的路径中。 好吧,我已经完成了,现在可以从命令行运行 cl,但我得到了上面详述的相同错误。 :( 【参考方案1】:

“Visual C++ Redistributable”是一个运行时库。如果需要从源代码构建 CuPy,则需要从错误消息中显示的 URL 安装 VC++ 编译器。

【讨论】:

我已经安装了 Visual Installer 并下载了 Visual Studio Professional、Visual Studio Community 和 Visual Studio Build Tools 2019。对于它们中的每一个,我都安装了“使用 C++ 进行桌面开发”和“C++”构建工具”,并添加了以下内容:MSVC v142 - VS 2019 C++ x64/x86 构建工具 (v14.26)、Windows 10 SDK (10.0.18362.0)、适用于 Windows 的 C++ CMake 工具、测试工具核心功能 - 构建工具、C++ AddressSanitizer (实验性)。尽管进行了这些安装,但我没有取得太大进展,我觉得我必须以某种方式明确说明参考。 究竟应该从链接下载哪个下载? 请尝试按照 Python 网站上的说明进行操作:https://wiki.python.org/moin/WindowsCompilers#Microsoft_Visual_C.2B-.2B-_14.2_standalone:_Build_Tools_for_Visual_Studio_2019_.28x86.2C_x64.2C_ARM.2C_ARM64.29 我已按照说明重新安装 Visual Build Tools 并获取所需的软件包,但仍然存在相同的错误。我通过 VS 2019 的开发人员命令提示符查找了 Arvin Kushwaha 建议的 PATH,并将其添加到我现有的 PATH 中,但没有成功。您还有其他建议吗? 尝试更新 setuptools 和 pip。 python -m pip install -U setuptools pip

以上是关于为啥我用Microsoft Visual C++ 6.0运行c语言文件出错?的主要内容,如果未能解决你的问题,请参考以下文章

为啥cupy安装过程检测不到Microsoft Visual C++?

我用 Microsoft Visual Studio 2010 新建一个 C++ 的对话框窗口程序的时候 该如何设置它的窗口类名?谢谢!

Microsoft Visual C++ 的 Makefile

Microsoft visual studio C++中,#include <vector> 语句,但是报错说vector未声明的变量?请问为啥?

装Kingbase ES V7时为啥依赖检测时,总是提示我说Microsoft Visual C++ 2008未通过检测???

Microsoft Visual Studio 2013 链接错误 1104