【转】隐式声明与内建函数不兼容——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;
相关推荐
在本Linux+Shell编程课程设计中,我们将深入探讨如何利用Shell脚本来实现Linux系统的用户管理。Shell编程是Linux系统中的重要一环,它提供了一种简单而强大的方式来自动化日常的系统任务,包括用户账户的创建、修改...
函数式编程将值传递给函数,该函数然后生成新值但从不修改自身外部的任何东西,不可变对象和无副作用范式解决了并发编程中最基本和最棘手的问题之一。 函数式编程的特点: * 不可变数据:在函数式编程中,所有数据...
不过,由于【标题】中提供了文档的名称——"JavaScript函数式编程.pdf",我可以根据这个名称扩展出关于JavaScript函数式编程的知识点。 JavaScript函数式编程的知识点非常丰富,涉及很多方面的内容,下面将详细介绍...
Linux编程教程——Linux下编程入门 在Linux操作系统中进行编程是一项重要的技能,尤其对于系统级开发者和软件工程师来说。Linux提供了丰富的开发环境和工具,支持多种编程语言,如C、C++、Python、Java等。本教程将...
CURSES库作为一个专门针对Linux操作系统的字符终端界面编程库,它提供了一整套功能完善的函数集合,让开发者可以快速开发出高质量的字符终端界面程序。 CURSES库的核心功能大致可以分为四个方面:窗口管理、屏幕...
语言与MATLAB接口——编程与实例内容简介本书以简洁的语言、丰富的实例系统地介绍了C语言与MATLAB接口函数(称之为:C-MEX函数)的编程方法。用实例详细地介绍了MATLAB中所提供的数据类型在C-MEX函数的编程方法。这些...
书中对Linux系统的安装、常用命令、Shell编程、C语言基础、指针与函数、C程序网络编程、图形界面程序设计等方面进行了详细的讲解。 具体来说,本书分为七大部分,每一篇都针对一个特定的主题进行深入探讨: 1. ...
书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络...,包括如何创建数据库函数库以及如何与网络打印机通信等...
基于 Scheme、Haskell 等老牌函数式语言的传统教材的问题在于,相关语言的语法和思维方式与读者现有的知识体系迥异,容易造成较为陡峭的入门门槛。此外,由于这些语言本身的实际应用机会不多,初学者也难以在实战中...
数学公式不常用的话很容易忘记,有一个三角函数表在手中,查阅更方便
《Inside C#——C#编程从入门到精通》是一本旨在帮助初学者和有经验的开发者深入了解C#编程语言的指南。C#是由微软开发的一种面向对象的编程语言,广泛应用于Windows应用程序、游戏开发、Web服务以及.NET框架下的...
Linux C 函数库参考手册 第1章 字符测试函数 第2章 数据转换函数 第3章 内存配置函数 第4章 时间函数 第5章 字符串处理函数 第6章 数字计算函数 第7章 用户和组函数 第8章 数据加密函数 第9章 数据结构函数 第10章 ...
这个API集成了大量的函数、结构体、枚举类型等,为开发者提供了丰富的功能,包括窗口管理、图形绘制、文件操作、网络通信等。 在Windows API开发中,函数是核心元素之一。它们是操作系统服务的入口点,如`...
学习linux的笔记,发到博文了,鉴于文档方便...Linux笔记——shell补充:参数传递&函数等 Linux笔记——正则表达式入门及应用 Linux笔记——linux进程 Linux笔记——SVN命令总结 rpm&yum包管理命令总结 The end wklken
共享库的构建与使用也是系统编程中不可忽视的一部分,手册中对于如何创建和使用这些库有详细的阐述,这对于开发可复用代码和优化程序性能来说非常关键。创建进程和执行程序是系统编程的另一个关键部分,手册中不仅...
需要提供open/read/write/lseek/close等函数的封装函数 该类要提供数据缓存服务。 调用该类的写操作接口时,数据要首先写到缓存,然后再根据策略写到文件中。 调用该类的读操作接口时,该类能根据策略缓存读出的数据...
一个VC++可重用的字符串处理函数集,这些函数主要包括: IsNumeric——检查串是否为数字串 Upcase——变成大写串 right——从右到左截掉字符 Lowercase——变成小写串 Trim——截掉串尾的空格 ...
Linux函数手册是Linux系统开发人员和程序员的重要参考资料,它包含了大量与Linux系统调用和C标准库相关的函数信息。这份rar压缩包文件很可能是Linux系统的man手册页的集合,其中详细记录了各种函数的用途、参数、...
《Linux与UNIX Shell编程指南》是一本深受欢迎的IT技术书籍,主要涵盖了Linux和UNIX操作系统中的Shell编程技术。这本书在IT领域中具有很高的价值,尤其是对于那些致力于提升系统管理技能和自动化任务处理能力的读者...