Linux_FAQ之七:编程问题
作者:瓜妞妹妹 | 来源:互联网 | 2017-06-24 11:46
文章标题:Linux_FAQ之七:编程问题。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类
Q: 为什么我用 gcc 编译出来的 a.out 不能执行?
我编辑了一个 test.c 并用 gcc 编译, 生成一个 a.out 文件
但是为什么它不能执行?
A: 在 Linux 下执行程序需要指定文件路径。 请试试 ./a.out
这里用 ./ 告诉 shell 要执行的程序在当前目录。
当然如果环境变量 PATH 中包含了路径, 则可以不用这样指定。
可以通过设置用户配置文件改变它。
bsh, ksh, bash:
vi ~/.bashrc
add this line:
PATH=$PATH:.
csh, tcsh:
vi ~/.cshrc
add this line:
setenv PATH $PATH:.
这样下次等录就可以直接执行当前目录的程序了。
-- by Singleboy (孤鹰)
Q: 编程问题: 如何在 Linux 中得到特殊键的扫描码?
在 DOS 下面可以通过 INT86 函数进行系统调用来得到方向键的码。
但是在 UNIX 下用 GCC 的什么函数可以读入方向键,
又是用什么函数来输出一个方向键呢?
A: there is structure kbentry defined in /usr/include/linux/kd.h
and,u can find definitions of the structure’s members in
/usr/include/linux/keyboard.h,
then use ioctrl() to set the keymap,and read() to read the
value retured when a key being pressed.
-- by jbru (无病无灾便是福)
Q: 编程问题: 关于文件结束的判断偶要对一个log文件进行分析,通过下面的方法打开
if ((fp=fopen(free,"r+"))==NULL){ //the free ip file created by manual printf("can’t open file %s.",free);
putchar(’ ’);
exit(0);
}
通过fgets函数从fp流中取出字符串验证,正确!
但当偶用while(fgetc(fp)!=EOF){}进行提取分析时,却发生
"Segmentation fault"错误!
呜呼!为什么?????
A: "Segmentation fault"错误!
~~~~~~~~~~~~~~~~~~~ 这种错误是因为指针为空。
而且用EOF作为文件结束的标志不太好,可能文件结束了还是!=EOF。
Try to use:
while(!feof(fp)) {
fgetc(fp);
}
试试看。
推荐阅读
-
在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ...
[详细]
蜡笔小新 2023-12-14 18:48:02
-
本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ...
[详细]
蜡笔小新 2023-12-14 11:27:53
-
-
本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ...
[详细]
蜡笔小新 2023-12-14 07:44:06
-
本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ...
[详细]
蜡笔小新 2023-12-13 11:35:40
-
本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ...
[详细]
蜡笔小新 2023-12-12 20:48:58
-
本文总结了Linux下多线程执行shell脚本的4种方法,包括切换到工作目录执行、使用绝对路径执行、直接使用bash或sh执行。同时介绍了为什么需要加上"./"来执行脚本的原因。 ...
[详细]
蜡笔小新 2023-12-11 16:34:22
-
本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ...
[详细]
蜡笔小新 2023-12-14 17:55:18
-
本文介绍了在Mac上配置环境变量,实现Python3的命令行调用的步骤。首先通过官网下载或使用brew安装Python3,并找到安装路径。然后将该路径添加到环境变量中,可以通过编辑.bash_profile文件或执行source命令来实现。配置完成后,即可在命令行中直接调用Python3。 ...
[详细]
蜡笔小新 2023-12-13 13:55:37
-
本文介绍了Shell中for命令的基本格式和用法,通过提供一个值列表来迭代执行一系列命令。同时还介绍了如何读取列表中的值,并给出了for命令与其他命令的结合使用示例。 ...
[详细]
蜡笔小新 2023-12-12 12:24:14
-
本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ...
[详细]
蜡笔小新 2023-12-12 11:19:14
-
本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ...
[详细]
蜡笔小新 2023-12-12 03:02:49
-
本文介绍了在MacOS系统上安装MySQL的步骤,并详细说明了如何设置MySQL服务的开机启动和如何修改MySQL的密码。通过下载MySQL的macos版本并按照提示一步一步安装,在系统偏好设置中可以找到MySQL的图标进行设置。同时,还介绍了通过终端命令来修改MySQL的密码的具体操作步骤。 ...
[详细]
蜡笔小新 2023-12-11 17:35:39
-
蜡笔小新 2023-12-10 21:14:20
-
为什么80%的码农都做不了架构师?最近在工作中需要使用crontab执行定时任务,处理memcacheq消息队列里的数据,但是发现在 ...
[详细]
蜡笔小新 2023-12-09 18:43:51
-
本文介绍了在Android Studio中使用命令行build gradle的方法,并解决了一些常见问题,包括手动配置gradle环境变量和解决External Native Build Issues的方法。同时提供了相关参考文章链接。 ...
[详细]
蜡笔小新 2023-12-09 10:11:06
-