热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux_FAQ之七:编程问题

文章标题: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时出现无写权限的情况。 ... [详细]
  • Python语法上的区别及注意事项
    本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • 本文总结了Linux下多线程执行shell脚本的4种方法,包括切换到工作目录执行、使用绝对路径执行、直接使用bash或sh执行。同时介绍了为什么需要加上"./"来执行脚本的原因。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 本文介绍了在Mac上配置环境变量,实现Python3的命令行调用的步骤。首先通过官网下载或使用brew安装Python3,并找到安装路径。然后将该路径添加到环境变量中,可以通过编辑.bash_profile文件或执行source命令来实现。配置完成后,即可在命令行中直接调用Python3。 ... [详细]
  • 本文介绍了Shell中for命令的基本格式和用法,通过提供一个值列表来迭代执行一系列命令。同时还介绍了如何读取列表中的值,并给出了for命令与其他命令的结合使用示例。 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 本文介绍了在MacOS系统上安装MySQL的步骤,并详细说明了如何设置MySQL服务的开机启动和如何修改MySQL的密码。通过下载MySQL的macos版本并按照提示一步一步安装,在系统偏好设置中可以找到MySQL的图标进行设置。同时,还介绍了通过终端命令来修改MySQL的密码的具体操作步骤。 ... [详细]
  • 从U ... [详细]
  • crontab 自动执行定时任务时,命令无法执行的解决方案
    为什么80%的码农都做不了架构师?最近在工作中需要使用crontab执行定时任务,处理memcacheq消息队列里的数据,但是发现在 ... [详细]
  • 本文介绍了在Android Studio中使用命令行build gradle的方法,并解决了一些常见问题,包括手动配置gradle环境变量和解决External Native Build Issues的方法。同时提供了相关参考文章链接。 ... [详细]
author-avatar
瓜妞妹妹
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有