`

【转】隐式声明与内建函数不兼容——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系统中的重要一环,它提供了一种简单而强大的方式来自动化日常的系统任务,包括用户账户的创建、修改...

    java8函数式编程(csdn)————程序.pdf

    函数式编程将值传递给函数,该函数然后生成新值但从不修改自身外部的任何东西,不可变对象和无副作用范式解决了并发编程中最基本和最棘手的问题之一。 函数式编程的特点: * 不可变数据:在函数式编程中,所有数据...

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

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

    JavaScript函数式编程.pdf

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

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

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

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

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

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

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

    21天学通LINUX C编程

    书中对Linux系统的安装、常用命令、Shell编程、C语言基础、指针与函数、C程序网络编程、图形界面程序设计等方面进行了详细的讲解。 具体来说,本书分为七大部分,每一篇都针对一个特定的主题进行深入探讨: 1. ...

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

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

    Scala函数式编程

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

    三角函数公式表——学习三角函数

    数学公式不常用的话很容易忘记,有一个三角函数表在手中,查阅更方便

    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章 ...

    excel函数——Vlookup函数

    讲述excel函数——Vlookup函数

    Windows API 开发详解——函数、接口、编程实例

    这个API集成了大量的函数、结构体、枚举类型等,为开发者提供了丰富的功能,包括窗口管理、图形绘制、文件操作、网络通信等。 在Windows API开发中,函数是核心元素之一。它们是操作系统服务的入口点,如`...

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

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

    Linux-UNIX系统编程手册.pdf

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

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

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

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

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

Global site tag (gtag.js) - Google Analytics