当前位置:  技术问答>linux和unix

ubuntu 使用gets函数编译警告不能运行

    来源: 互联网  发布时间:2017-02-03

    本文导语:  本帖最后由 kuaildg 于 2012-02-11 14:24:06 编辑 各位大侠:     帮忙看看下面代码,通过ubuntu下的gcc编译出现警告之后,就退出编译。不知错在哪里,请各位大侠帮忙指点一下,谢谢!    #include        int main()   ...

本帖最后由 kuaildg 于 2012-02-11 14:24:06 编辑
各位大侠:
    帮忙看看下面代码,通过ubuntu下的gcc编译出现警告之后,就退出编译。不知错在哪里,请各位大侠帮忙指点一下,谢谢!


   #include 
  
   int main()
   {
  
        char str[8];
        gets(str);
        puts(str);
  
       return 0;
  }


小弟文件名为gets.c  编译命令  gcc gets.c -o gets

|
警告而已,并没有说不能编译
你运行./gets

|
那就别用gets了,用fgets

|
可能是怕越界造成危险

|
Linux下查man,说的很详细了,如下:
       Reads  characters  from standard input until a newline is found.  The characters up
       to the newline are stored in BUF. The newline is discarded, and the buffer is  ter‐
       minated with a 0.

          This is a _dangerous_ function, as it has no way of checking the amount of space
       available in BUF. One of the attacks used by the Internet Worm of 1988 used this to
       overrun  a  buffer  allocated  on  the stack of the finger daemon and overwrite the
       return address, causing the daemon to execute code downloaded into it over the con‐
       nection.

|
++ 用fgets

    
 
 

您可能感兴趣的文章:

  • 在网上下的许多ubuntu程序都需要编译,那应该用什么编译?
  • ubuntu 10.10出现极其诡异的情况,使用gcc编译没任何反应,可以继续输入,但是不提示任何错误;使用make编译效果一样;
  • ubuntu11.10的内核编译
  • ubuntu编译驱动问题
  • 关于在Ubuntu配置C++编译环境的问题
  • ubuntu中预编译出现错误
  • 请教各位高手,有人成功地交叉编译ubuntu9.04源码?
  • ubuntu ARM交叉编译器问题
  • 在UBUNTU当中打开源文件后,如何查看之前编译所产生的一些错误信息呢??
  • ubuntu 10.10环境下的交叉编译求助
  • 请问 ubuntu下怎么编译gcc,谁有详细的过程,能否说一下
  • ubuntu 编译codeblocks 出错
  • ubuntu如何设定编译器默认为gnu99替换c99呢?
  • ubuntu10.4如何安装交叉编译器
  • 求助啊!ubuntu 交叉编译器 arm-none-linux-gnueabi-gcc
  • ubuntu下用gcc编译的程序要怎样运行,为何运行不了?
  • ubuntu8.04下语言的编译问题
  • Ubuntu 下GCC编译简单hello world程序出错
  • ubuntu8.10 编译 uClinux-040408 (ARM)出错
  • ubuntu编译WebKit的出错了!求解!!!!
  • ubuntu下面查看getpid这个函数用法有哪些办法
  • 在Ubuntu9.10下使用外部函数的问题
  • 请问ubuntu系统下linux内核库函数 /linux/string.h 在什么位置
  • ubuntu 9.10增加系统调用后测试函数错误的问题
  • 求助 ubuntu系统下C开发调用内核函数总报ndefined reference错误
  • 我的glibc-doc中查不到sem_wait这样的函数 是我装的glibc-doc太旧么 不是阿 我是ubuntu上apt-get获得的应该最新了阿
  • 在ubuntu下,system函数的返回值
  • 在VC下如果要打开其它语言命名的文件读行二进制读取可以用TCHAR来定义文件名,读写函数他自己会自动选择,现在要换到LINUX下(UBUNTU)下开发,如果有多种语言命名的文件,我应该用什么类型来存放文件名?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Ubuntu 12.04长期支持版和最新版Ubuntu 13.10下载
  • vmware里装了Ubuntu后Ubuntu.vmdk文件大小和Ubuntu系统大小区别?
  • Ubuntu查看系统信息命令介绍
  • win7与Ubuntu双系统卸载ubuntu
  • Docker官方镜像将会使用Alpine Linux替换Ubuntu
  • 装ubuntu的时候选安装ubuntu与win7共存与选其他选项
  • Ubuntu查看硬盘,分区相关命令介绍
  • winxp+ubuntu32+ubuntu64是否可以这样装系统?
  • Ubuntu系统安装及升级命令
  • ubuntu能安装rpm包吗&&ubuntu的intel 945显卡驱动
  • Ubuntu Precise 12.04 (LTS) (64-bit)下面安装docker
  • 在win7下装ubuntu成功后进不去ubuntu!!??
  • Ubuntu Raring 13.04 和 Saucy 13.10 (64 bit)下面安装docker
  • 原来已安装好ubuntu,因系统崩溃,重装WINXP系统,如何再次登录ubuntu系统?
  • Ubuntu Trusty 14.04 (LTS) 下面安装docker及依赖关系检查
  • ubuntu10.10 和 ubuntu 10.04.1
  • Ubuntu Vivid 15.04 下面安装docker的详细步骤
  • Ubuntu 中的 ubuntu one 算不算的上云?
  • ubuntu系统中软件安装、卸载以及查询是否已经安装某个软件包的方法
  • 安装ubuntu11.04时,过了ubuntu的logo花屏,怎么解决
  • Ubuntu查看内存,进程相关命令介绍
  • 我想根据ubuntu官网上介绍的方法安装ubuntu,是否应该先分一块硬盘空间?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3