编译错误:stray '/161' in program

本文介绍了一次使用DEV-C++编译C语言程序时遇到的stray '/161' in program错误及解决过程。错误原因是代码中包含全角字符,通过查找并替换这些字符解决了问题。

         刚用DEV-C++ 编译写了一段C 小例子。人太懒啦,重复的部分COPY 了网页中代码。

        结果呢一大堆的 stray '/161' in program 。GOOGLE一下:

         原来是程序中含有全角字符。用Ctrl+F 查询删除就O啦。

         程序员不能太懒啊!

运行结果 编译程序失败 错误原因:./case2/test.c: In function ‘execlProcess’: ./case2/test.c:17:3: warning: ‘return’ with a value, in function returning void return -1; ^ ./case2/test.c:24:1: error: stray ‘\302’ in program execl("/bin/ls", "ls", "-l", NULL); ^ ./case2/test.c:24:1: error: stray ‘\240’ in program ./case2/test.c:24:1: error: stray ‘\302’ in program ./case2/test.c:24:1: error: stray ‘\240’ in program ./case2/test.c:24:1: error: stray ‘\302’ in program ./case2/test.c:24:1: error: stray ‘\240’ in program ./case2/test.c:24:1: error: stray ‘\302’ in program ./case2/test.c:24:1: error: stray ‘\240’ in program ./case2/test.c:25:1: error: stray ‘\302’ in program perror("execl failed"); ^ ./case2/test.c:25:1: error: stray ‘\240’ in program ./case2/test.c:25:1: error: stray ‘\302’ in program ./case2/test.c:25:1: error: stray ‘\240’ in program ./case2/test.c:25:1: error: stray ‘\302’ in program ./case2/test.c:25:1: error: stray ‘\240’ in program ./case2/test.c:25:1: error: stray ‘\302’ in program ./case2/test.c:25:1: error: stray ‘\240’ in program ./case2/test.c:26:1: error: stray ‘\302’ in program exit(EXIT_FAILURE); ^ ./case2/test.c:26:1: error: stray ‘\240’ in program ./case2/test.c:26:1: error: stray ‘\302’ in program ./case2/test.c:26:1: error: stray ‘\240’ in program ./case2/test.c:26:1: error: stray ‘\302’ in program ./case2/test.c:26:1: error: stray ‘\240’ in program ./case2/test.c:26:1: error: stray ‘\302’ in program ./case2/test.c:26:1: error: stray ‘\240’ in program
05-27
make make -C /lib/modules/3.2.0-23-generic-pae/build M=/home/loongson modules make[1]: Entering directory `/usr/src/linux-headers-3.2.0-23-generic-pae' CC [M] /home/loongson/timer_module.o /home/loongson/timer_module.c:4:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:4:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:4:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:4:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:4:17: error: stray ‘\302’ in program /home/loongson/timer_module.c:4:17: error: stray ‘\240’ in program /home/loongson/timer_module.c:6:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:6:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:6:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:6:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:6:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:6:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:6:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:6:1: error: stray ‘\240’ in program /home/loongson/timer_module.c: In function ‘my_timer_callback’: /home/loongson/timer_module.c:7:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:7:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:7:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:7:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:7:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:7:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:7:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:7:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:7:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:7:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:7:27: error: expected ‘)’ before string constant /home/loongson/timer_module.c: At top level: /home/loongson/timer_module.c:10:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:10:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:10:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:10:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:10:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:10:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:10:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:10:1: error: stray ‘\240’ in program /home/loongson/timer_module.c: In function ‘my_timer_module_init’: /home/loongson/timer_module.c:11:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:11:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:11:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:11:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:11:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:11:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:11:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:11:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:11:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:11:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:11:27: error: expected ‘)’ before string constant /home/loongson/timer_module.c:12:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:12:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:12:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:12:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:12:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:12:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:12:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:12:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:13:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:13:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:13:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:13:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:13:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:13:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:13:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:13:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:14:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:14:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:14:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:14:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:14:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:14:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:14:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:14:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:15:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:15:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:15:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:15:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:15:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:15:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:15:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:15:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:15:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:15:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:15:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:15:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:16:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:16:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:16:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:16:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:16:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:16:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:16:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:16:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:16:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:16:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:16:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:16:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:16:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:16:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:16:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:16:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:16:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:16:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:17:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:17:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:17:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:17:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:17:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:17:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:17:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:17:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:17:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:17:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:17:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:17:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:18:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:18:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:18:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:18:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:18:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:18:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:18:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:18:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:19:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:19:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:19:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:19:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:19:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:19:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:19:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:19:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:20:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:20:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:20:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:20:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:20:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:20:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:20:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:20:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:20:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:20:1: error: stray ‘\240’ in program /home/loongson/timer_module.c: At top level: /home/loongson/timer_module.c:23:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:23:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:23:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:23:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:23:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:23:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:23:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:23:1: error: stray ‘\240’ in program /home/loongson/timer_module.c: In function ‘my_timer_module_exit’: /home/loongson/timer_module.c:24:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:24:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:24:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:24:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:24:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:24:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:24:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:24:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:25:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:25:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:25:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:25:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:25:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:25:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:25:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:25:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:25:1: error: stray ‘\302’ in program /home/loongson/timer_module.c:25:1: error: stray ‘\240’ in program /home/loongson/timer_module.c:25:27: error: expected ‘)’ before string constant make[2]: *** [/home/loongson/timer_module.o] Error 1 make[1]: *** [_module_/home/loongson] Error 2 make[1]: Leaving directory `/usr/src/linux-headers-3.2.0-23-generic-pae' make: *** [all] Error 2
最新发布
12-03
### ### 编译错误:程序中出现非法的中文引号(stray '' in program)解决方案 在 C/C++ 编程环境中,若代码中使用了中文引号(如 `“”` 或 `‘’`),编译器通常会报错:“Compilation error: stray ‘’ in program”,因为这些字符不属于 ASCII 字符集,而大多数嵌入式开发环境默认仅支持 ASCII 编码[^1]。 #### 原因分析 中文引号属于 Unicode 范畴,C/C++ 的字符串和字符常量要求使用英文双引号 `"` 和单引号 `'`。当源代码文件中包含未被识别的字符时,编译器无法正确解析,从而导致语法错误或词法错误。 #### 解决方案 1. **替换所有中文引号为英文引号** 检查代码中的字符串和字符常量,确保所有使用的引号均为英文格式: ```cpp const char* password = "pass\"word"; // 正确使用英文双引号并转义 ``` 2. **启用 UTF-8 编码支持(适用于特定平台)** 在某些支持 Unicode 的编译环境下(如 ESP-IDF),可通过配置使编译器接受 UTF-8 编码的源文件。保存文件时选择 UTF-8 编码,并在项目配置中启用相关选项: ```makefile # Makefile 示例(部分平台需手动设置编码) CPPFLAGS += -finput-charset=UTF-8 -fexec-charset=UTF-8 ``` 3. **避免在敏感字段中使用非 ASCII 字符** 即使编译通过,Wi-Fi 密码、SSID 等字段仍可能因底层驱动不支持 Unicode 而连接失败。建议始终使用英文字符作为密码和 SSID 名称。 4. **使用十六进制表示法处理特殊字符** 若必须使用非 ASCII 字符,可将其转换为 UTF-8 编码的十六进制形式进行存储: ```cpp const char* ssid = "\xE4\xB8\xAD\xE6\x96\x87"; // UTF-8 编码的“中文” ``` 5. **检查编辑器设置** 使用支持 UTF-8 的文本编辑器(如 VS Code、Sublime Text),并在状态栏确认当前文件编码格式是否为 UTF-8,以防止意外插入中文字符。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值