小编典典

为什么我的程序无法在 Windows 7 下编译为法语?

all

我正在运行 Windows 7 French 并且我正在尝试编译这个非常基本的程序,但是 Visual Studio
很固执并且拒绝遵守。我还尝试在Coliru上使用 GCC 4.7 和 Clang
主干编译它,我得到或多或少相同的错误(输出在代码下方),尽管我认为 Coliru 在英文操作系统上运行,所以我不希望它无论如何都能工作.

我究竟做错了什么?我该如何解决?

代码

#inclure <iostream>

ent principal(ent argn, ent** argm)  // entier, nombre d'arguments, valeur des arguments
{
   std::cendehors << "Bonjour le monde!\n";
   renvoi SORTIE_SUCCÈS;
}

输出

principal.cpp:1:6: erreur: prétraitement de la directive invalide #inclure
     #inclure <iostream>
      ^
principal.cpp:6:8: erreur: '\303' égaré dans le programme
        renvoi SORTIE_SUCCÈS;
        ^
principal.cpp:6:8: erreur: '\210' égaré dans le programme
principal.cpp:3:5: erreur: «ent» ne désigne pas un type
     ent principal(ent argn, ent** argm)  // entier, nombre d'arguments, value des arguments
     ^

阅读 62

收藏
2022-06-01

共1个答案

小编典典

您没有提及您使用的是哪种法语变体,但从错误消息中,我认为您使用的是“rench (France)”(我们文明操作系统的用户称之为fr_FR)。MS
fr_FR语言环境以一种非常奇怪的方式表现:大写重音字母映射到它们的非重音对应物(为了与某些打字机型号向后兼容)。所以你需要写SORTIE_SUCCES而不是SORTIE_SUCC脠S.

一种解决方法是使用“rench (Monaco)”( fr_MC)
语言
,其中大写重音字母按预期工作。不幸的是,摩纳哥版本的编译器非常昂贵。您也可以使用加拿大法语、比利时法语或瑞士法语版本,但这些都需要您提交双语
( fr_CA+ en_CA)、三语 ( fr_BE+ nl_BE+ de_BE) 或四语 ( fr_CH+
it_CH+ de_CH+ rm_CH) 源文件。法语的非洲变体已淘汰,因为它们太穷而无法负担 C++ 编译器,但是您可以改用 C。

然后您的程序中还有其他语法错误:

  • 你忘了翻译一些关键词。
  • 请注意,编译器和文档并不总是对同一个词使用相同的翻译。
  • 您没有考虑到形容词在法语中的名词之后的事实。
  • 您使用了错误类型的引号。

我wollun在脡maxe 51,70中包含的C++编译器中尝试了以下代码,它可以工作:

#inclure <fluxes>

principal ent(argn ent, argm **ent)  // entier, nombre d'arguments, valeur des arguments
{
   norme::sortiec << 芦聽Bonjour 脿 tout le monde聽!\n聽禄聽;
   retourner SORTIE_SUCC脠S聽;
}

有些语言比 C++
有更好的国际化支持。例如,这是一个LOGO中的程序(当然不要与LOGO混淆)。

pour exemple
  répète 18 [av 5 td 10]
  td 60
  répète 18 [av 5 td 10]
fin
2022-06-01