`

【转】隐式声明与内建函数不兼容——Linux编程常见问题

阅读更多

【转】隐式声明与内建函数不兼容——Linux编程常见问题

错误提示:Makefile:2: *** 遗漏分隔符 。 停止。
原因makefile中 gcc语句前 缺少一个 tab分割符

错误提示: bash: ./makefile: 权限不够
原因 makefile 是文本文件不可执行,即使是root,也会权限不够
我们应该在命令行下使用make, 该指令会自动搜寻所在目录下的makefile文件,如果使用其他名称如(makefile.am)则应加参数指出,如:make -f makefile.am

错误提示 : a.c:6: 错误:程序中有游离的 ‘\200’
a.c:6: 错误:程序中有游离的 ‘\200’
a.c:8: 错误:程序中有游离的 ‘\343’
a.c:8: 错误:程序中有游离的 ‘\200’
a.c:8: 错误:程序中有游离的 ‘\200’

原因
这个错误一般是由于你程序(a.c)中使用了中文的标点符号,比如;,},+。
改成英文的就行了。
甚至有时候空格也会出现类似错误,删掉该空格 重新输入。
如果找不出来,解决的办法就是关闭中文输入法然后把有错这一行重新敲一遍。

错误 提示 :
0警告:隐式声明与内建函数 ‘printf’ 不兼容
1 警告: 隐式声明与内建函数 ‘malloc’ 不兼容  
2警告: 隐式声明与内建函数 ‘exit’ 不兼容   
3警告:隐式声明与内建函数 ‘execlp’ 不兼容
4
警告:隐式声明与内建函数 ‘strlen’ 不兼容
5 错误:‘FILE’ 未声明   (//使用 fopen)

解决方法:
加上头文件

#include "stdio.h"
#include <malloc.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <stdio.h>

 

C类型字符串 后面有一个 '\0 ' 作为 结尾标示符隐含加入。
sizeof(a) 就包括了 '\0 '
而strlen(a) 没有将 '\0 '计算在内。

错误:‘O_RDONLY’ 未声明
来源 fd = open ("test.file", O_RDONLY);
解决:
      #include <fcntl.h>
       int open (const char *pathname, int oflag, ... /* mode_t mode */);
        语法参考:http://baike.baidu.com/view/26337.htm
区别于:
    #include<stdio.h>
    FILE * fopen (const char * path,const char * mode);
      语法参考:http://baike.baidu.com/view/656681.htm

错误:‘CLONE_VM’ 未声明
错误:‘CLONE_FILES’ 未声明
来源: 使用clone时候   clone (do_something, child_stack, CLONE_VM|CLONE_FILES, NULL);
解决: #include <sched.h>

错误:‘pid_t’ 未声明
来源: /*定义子进程号 */    pid_t pid;
解决:
            #include <stdlib.h>

错误:‘options’ 的存储大小未知
来源 : union semun options;             http://dev.yesky.com/199/7643199_1.shtml
原因: semun定义问题
        /usr/include/linux/ipc.h 中有定义
        但是 /usr/include/sys/ipc.h 中没有
    而通常程序会包含 sys/ipc.h sys/sem.h 不可能去包含 linux/ipc.h, linux/sem.h, 否则不可能在unix 下通过
解决:
union semun {
               int val;
               struct semid_ds *buf;
               ushort *array;
}arg;


原文链接:http://blog.csdn.net/21aspnet/article/details/160195

分享到:
评论

相关推荐

    Linux+shell编程课程设计——Linux用户管理的shell程序设计

    在本Linux+Shell编程课程设计中,我们将深入探讨如何利用Shell脚本来实现Linux系统的用户管理。Shell编程是Linux系统中的重要一环,它提供了一种简单而强大的方式来自动化日常的系统任务,包括用户账户的创建、修改...

    Linux C函数库参考手册完整版 含Linux C函数使用手册chm 中文pdf格式

    在Linux下,使用到的C语言函数中文手册,全都有实例,如果你是大神,完全不需要,如果你对英文的手册感到头疼,而且是初学者,对很多用到的函数不太熟悉,这个文档对你有很大的帮助。 这里包含了所有的linux下C编程...

    疯狂内核之——Linux预备知识.pdf

    Linux内核针对不同类型的嵌入式设备提供了相应的汇编支持,使开发者能够在保持兼容性的同时,充分利用硬件特性。 #### 1.5 必要的硬件知识 **1.5.1 EU模块** EU(Execution Unit)模块是CPU的一个组成部分,主要...

    JavaScript函数式编程.pdf

    不过,由于【标题】中提供了文档的名称——"JavaScript函数式编程.pdf",我可以根据这个名称扩展出关于JavaScript函数式编程的知识点。 JavaScript函数式编程的知识点非常丰富,涉及很多方面的内容,下面将详细介绍...

    Linux系统字符终端界面的编程(1)——CURSES库简介.pdf

    CURSES库作为一个专门针对Linux操作系统的字符终端界面编程库,它提供了一整套功能完善的函数集合,让开发者可以快速开发出高质量的字符终端界面程序。 CURSES库的核心功能大致可以分为四个方面:窗口管理、屏幕...

    C语言与MATLAB接口——编程与实

    语言与MATLAB接口——编程与实例内容简介本书以简洁的语言、丰富的实例系统地介绍了C语言与MATLAB接口函数(称之为:C-MEX函数)的编程方法。用实例详细地介绍了MATLAB中所提供的数据类型在C-MEX函数的编程方法。这些...

    LINUX实验程序——————初学者

    这个名为“LINUX实验程序——初学者”的压缩包显然是一系列针对初学者设计的Linux学习资源,旨在帮助新手掌握Linux的基本概念和系统编程技巧。下面,我们将深入探讨其中可能包含的知识点。 1. **Linux基础**:学习...

    Unix环境高级编程(APUE)——linux入门必学

    书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络...,包括如何创建数据库函数库以及如何与网络打印机通信等...

    Scala函数式编程

    基于 Scheme、Haskell 等老牌函数式语言的传统教材的问题在于,相关语言的语法和思维方式与读者现有的知识体系迥异,容易造成较为陡峭的入门门槛。此外,由于这些语言本身的实际应用机会不多,初学者也难以在实战中...

    网站维护杀手锏——网络编程——ASP、PHP、JSP与数据库互联.pdf

    《网站维护杀手锏——网络编程——ASP、PHP、JSP与数据库互联》这本书主要探讨了在网络编程领域中,如何利用ASP、PHP、JSP这三种常见的服务器端脚本语言与数据库进行有效连接和交互,从而实现网站数据的动态管理与...

    js函数库——打包上传

    JavaScript函数库是Web开发中不可或缺的一部分,它们提供了一系列预定义的函数和工具,帮助开发者更高效、便捷地处理常见的编程任务。"js函数库——打包上传"这个主题涉及到的主要是如何整理、打包和上传JavaScript...

    VB函数的运用——身份证号中有效信息的提取──.pdf

    【VB函数的运用——身份证号中有效信息的提取】 这篇文档是关于VB(Visual Basic)编程的一个教学案例,主要教学生如何从身份证号码中提取出生日期、性别等关键信息。教学内容选自广东版信息技术选修1《算法与程序...

    Inside C#——C#编程从入门到精通_0.rar

    《Inside C#——C#编程从入门到精通》是一本旨在帮助初学者和有经验的开发者深入了解C#编程语言的指南。C#是由微软开发的一种面向对象的编程语言,广泛应用于Windows应用程序、游戏开发、Web服务以及.NET框架下的...

    Linux C 函数库参考手册 中文版

    Linux C 函数库参考手册 第1章 字符测试函数 第2章 数据转换函数 第3章 内存配置函数 第4章 时间函数 第5章 字符串处理函数 第6章 数字计算函数 第7章 用户和组函数 第8章 数据加密函数 第9章 数据结构函数 第10章 ...

    Linux学习笔记【博文整理系列】

    学习linux的笔记,发到博文了,鉴于文档方便...Linux笔记——shell补充:参数传递&函数等 Linux笔记——正则表达式入门及应用 Linux笔记——linux进程 Linux笔记——SVN命令总结 rpm&yum包管理命令总结 The end wklken

    Linux-UNIX系统编程手册.pdf

    共享库的构建与使用也是系统编程中不可忽视的一部分,手册中对于如何创建和使用这些库有详细的阐述,这对于开发可复用代码和优化程序性能来说非常关键。创建进程和执行程序是系统编程的另一个关键部分,手册中不仅...

    电子科技大学linux环境编程作业2——李林——编写带缓存的文件操作类

    需要提供open/read/write/lseek/close等函数的封装函数 该类要提供数据缓存服务。 调用该类的写操作接口时,数据要首先写到缓存,然后再根据策略写到文件中。 调用该类的读操作接口时,该类能根据策略缓存读出的数据...

    高质量C++编程——编程的好手

    《高质量C++编程——编程的好手》一书是C++编程规范的重要参考资料,由林锐博士撰写,并在2001年7月24日正式发布为1.0版本。本书旨在提升C++程序员的编程质量,使代码更易读、易维护。遵循良好的编程规范,不仅能让...

    一个可重用的VC++字符串处理函数集 IsNumeric——检查串是否为数字串 Upcase——变成大写串 right——从右到左截掉字符 Trim——截掉串尾的空格 空格 mid——截掉从某个起始位置到右边位置的字符

    一个VC++可重用的字符串处理函数集,这些函数主要包括:  IsNumeric——检查串是否为数字串  Upcase——变成大写串  right——从右到左截掉字符  Lowercase——变成小写串  Trim——截掉串尾的空格  ...

    绝版经典《Linux与UNIX Shell编程指南》中文文字PDF版

    《Linux与UNIX Shell编程指南》是一本深受欢迎的IT技术书籍,主要涵盖了Linux和UNIX操作系统中的Shell编程技术。这本书在IT领域中具有很高的价值,尤其是对于那些致力于提升系统管理技能和自动化任务处理能力的读者...

Global site tag (gtag.js) - Google Analytics