`

【转】隐式声明与内建函数不兼容——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 C函数库参考手册完整版 含Linux C函数使用手册chm 中文pdf格式

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

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

    "Linux系统字符终端界面的编程(1)——CURSES库简介" Linux 操作系统下的字符终端界面编程是非常重要的一方面,特别是在企业级和高端应用中。CURSES 库是一个基于 Linux 操作系统的字符终端界面编程库,它提供了一个...

    JavaScript函数式编程.pdf

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

    linux 编程教程 -- linux下编程入门

    Linux编程教程——Linux下编程入门 在Linux操作系统中进行编程是一项重要的技能,尤其对于系统级开发者和软件工程师来说。Linux提供了丰富的开发环境和工具,支持多种编程语言,如C、C++、Python、Java等。本教程将...

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

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

    2015北京一模分类函数与导数——理科.doc

    2015北京一模分类函数与导数——理科.doc

    俄罗斯方块——linux c语言

    在Linux操作系统中,使用C语言来编写这款游戏,不仅可以锻炼编程技能,还能深入理解操作系统与图形界面的交互方式。 一、基础知识 1. C语言:C语言是一种基础且强大的编程语言,适用于系统级编程,如操作系统、...

    (完整版)Matlab学习心得系列——002.Matlab编程思想——向量化编程.pdf

    向量化编程的思路是抛弃 C 语言那种“单数值、元素化”考虑问题的思路,转以向量、矩阵为最小单位来考虑问题。这需要掌握 Matlab 语言的特点和编程思想,避免使用 C 语言风格的编程方式。 在 Matlab 中,常见的向量...

    Linux下C编程实战——源代码.7z

    在Linux环境下进行C编程是一种非常常见且强大的技术实践。C语言是系统级编程的基础,而Linux作为开源操作系统,为开发者提供了丰富的工具和资源。本文将深入探讨Linux下C编程实战的相关知识点,帮助读者掌握这一技能...

    gnu/linux编程指南源码

    《GNU/Linux编程指南》是一本深入探讨GNU/Linux操作系统下编程实践的宝贵资源,它涵盖了从基本的编程概念到高级的系统级编程技术。这个源码集合对于那些希望在GNU/Linux环境中提升编程技能或者想要深入了解操作系统...

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

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

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

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

    excel函数——Vlookup函数

    讲述excel函数——Vlookup函数

    C语言中的隐式函数声明

    当隐式声明的函数与库中实际存在的函数名称相同,但返回类型不同时,编译器可能按照自己的隐式声明生成调用代码。例如,`sqrt`函数在C标准库中定义为返回`double`,但如果我们未声明就调用,编译器可能默认它返回`...

    Linux多线程编程知识点总结(C语言)(csdn)————程序.pdf

    总的来说,Linux多线程编程需要掌握线程的创建、管理和同步机制,理解线程与进程的区别,以及如何有效地防止和解决死锁问题。熟悉Pthreads API是编写可靠多线程应用的基础。通过深入学习和实践,开发者可以构建出...

    嵌入式linux编程学习

    嵌入式Linux编程是当前科技领域中的热门话题,尤其在物联网(IoT)、智能设备和消费电子产品中占据着核心地位。嵌入式系统是指在特定应用中内嵌入计算机硬件和软件的系统,而Linux作为开源操作系统,因其稳定性和灵活...

    Linux-UNIX系统编程手册.pdf

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

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

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

Global site tag (gtag.js) - Google Analytics