今天闲来无事,竟然写了个while(true),然而结果也非常让我吃惊。结果竟然编译错误。。下面是我的源代码:
#include<stdio.h>
int main(){
while ( true ){
break;
}
return 0;
}
采用gcc4.1.2编译,错误信息如下所示:
gcc test_true.c
test_true.c: In function 'main':
test_true.c:4: error: 'true' undeclared (first use in this function)
test_true.c:4: error: (Each undeclared identifier is reported only once
test_true.c:4: error: for each function it appears in.)
也就是说while循环把true当做了变量,而不是内置关键字。。
经过今天查询得知:和我采用的gcc编译器有关。gcc不支持,但是g++支持。这是因为true并非c99标准关键字。c99中的bool类型采用关键字_Bool声明,而且形如_Bool a = true;这种语句使用gcc不能编译通过的。但是如果要使用,使用g++进行编译即可。或者使用_Bool a = 1;这种形式。
分享到:
相关推荐
while (true) { if (!isProgramRunning("target_program")) { startTargetProgram("/path/to/target_program"); } // 为了防止CPU占用过高,添加适当的延时 std::this_thread::sleep_for(std::chrono::seconds...
while (true) { if (channel.isClosed()) { break; } if (channel.getExitStatus() != -1) { break; } while (channel.getInputStream().available() > 0) { int read = channel.getInputStream().read...
while (true) { std::cout ; sleep(1); } } int main() { boost::thread thr(threadfun); thr.join(); return 0; } ``` 2. **编译与运行**: - 编译成功后,通过“调试”->“Linux控制台”运行工程。 ...
while true do echo "" echo "1. copy" echo "2. rename" echo "3. remove" echo "4. find" echo "5. exit" echo "" read -p "请输入您的选择:" choice case $choice in 1) echo "copy";; 2) echo "rename";; 3) ...
pb.redirectErrorStream(true); Process p = pb.start(); BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream())); String line; while ((line = in.readLine()) != null) { ...
在Linux系统中,Java应用程序通常以两种主要方式运行:直接通过命令行或作为守护进程(daemon)。本篇文章将深入探讨如何使用`sh`脚本来启动Java的JAR程序,并将其设置为守护进程,以便在后台持续运行,即使用户注销...
Java通过ganymed-ssh2-build210.jar库实现SSH远程连接Linux终端是一个常见的应用场景,主要用于自动化运维、系统管理或者开发过程中需要与Linux服务器交互的场景。ganymed-ssh2-build210.jar是Java的一个开源SSH库,...
在开始安装 `Supervisor` 之前,确保系统已经安装了 Python 2.7 或更高版本,因为 `Supervisor` 不支持 Python 3.0 至 3.3 版本。你可以通过以下命令检查 Python 是否已安装: ```bash python --version ``` 如果...
while True: with open("my_pipe", "r") as pipe: line = pipe.readline() if not line: break print(f"Received: {line.strip()}") time.sleep(1) ``` 在这个例子中,`producer.py`不断向`my_pipe`写入10条...
首先,我们来探讨如何在不使用Cron的情况下调度Linux任务。在Linux中,通常使用Cron服务来定时执行任务,但有时我们可能需要临时或简单地安排任务执行。一个方法是通过编写一个简单的循环脚本来实现。例如,要每5...
Linux内核线程编程涉及到操作系统的核心机制,是Linux系统中用于执行特定内核任务的一种机制。内核线程与用户进程的主要区别在于它们不拥有独立的地址空间,它们的活动范围仅限于内核空间,不会进行用户态到内核态的...
开发环境通常包括安装有Java Development Kit (JDK) 的Linux操作系统,例如Ubuntu或CentOS,以及集成开发环境(IDE),如Eclipse或IntelliJ IDEA,这些工具支持Java编程和调试。此外,开发者还需要对TCP/IP协议有...
while (true) { std::function()> task; { std::unique_lock<std::mutex> lock(mutex_); condition_.wait(lock, [this] { return !tasks_.empty(); }); if (tasks_.empty()) { break; } task = std::move...
while (true) { // 处理DBus消息循环 // ... 实现 ... } // ... 关闭DBus连接 ... return 0; } ``` 请注意,以上代码仅为示例,实际应用需要填充具体实现细节。在处理DBus消息和解析设备属性时,可能需要...
while true; do # 检查程序1是否运行 PID1=$(pgrep -x "$PROG1") if [ -z "$PID1" ]; then echo "程序$PROG1未运行,重新启动..." /path/to/$PROG1 & fi # 检查程序2是否运行 PID2=$(pgrep -x "$PROG2") ...
while True: recording = subprocess.check_output(["arecord", "-f", "S16_LE", "-r", "44100", "-t", "raw"]) s.sendto(recording, (UDP_IP, UDP_PORT)) ``` **接收端(接收并播放):** ```python import ...
在Linux系统中,尤其是基于X Window System(简称为X11)的桌面环境中,实现全局键鼠监控是一项常见的需求,例如用于开发系统监控工具、自动化脚本或游戏辅助程序等。X11提供了丰富的API接口,允许开发者监听并处理...
while true; do # 添加执行权限 chmod +x /mnt/test/test # 启动 test 程序 /mnt/test/test # 更新计数器 let count=$count+1 echo "test 运行次数为 $count" # 判断是否超过指定次数 if [ "$count" -gt ...
在IT行业中,与Linux系统交互是常见的任务,特别是在服务器管理和自动化运维中。Java作为一种跨平台的语言,提供了多种方法来连接并操作Linux系统。本篇将详细介绍两种主要的Java连接Linux的方式,并结合`...
while (true) { ioctl(fd, VIDIOC_DQBUF, &buf); // 处理视频帧数据 ioctl(fd, VIDIOC_QBUF, &buf); } // 结束捕获 ioctl(fd, VIDIOC_STREAMOFF, &fmt.type); ``` #### 四、常见问题与优化建议 在实际开发过程...