【转】隐式声明与内建函数不兼容——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编程”以及描述“深入浅出linux工具与编程”,可以总结和扩展出以下与Linux Shell编程相关的知识点: ### 一、Shell编程概述 Shell是用户与操作系统之间的交互...
在本Linux+Shell编程课程设计中,我们将深入探讨如何利用Shell脚本来实现Linux系统的用户管理。Shell编程是Linux系统中的重要一环,它提供了一种简单而强大的方式来自动化日常的系统任务,包括用户账户的创建、修改...
"Linux系统字符终端界面的编程(1)——CURSES库简介" Linux 操作系统下的字符终端界面编程是非常重要的一方面,特别是在企业级和高端应用中。CURSES 库是一个基于 Linux 操作系统的字符终端界面编程库,它提供了一个...
Linux内核针对不同类型的嵌入式设备提供了相应的汇编支持,使开发者能够在保持兼容性的同时,充分利用硬件特性。 #### 1.5 必要的硬件知识 **1.5.1 EU模块** EU(Execution Unit)模块是CPU的一个组成部分,主要...
语言与MATLAB接口——编程与实例内容简介本书以简洁的语言、丰富的实例系统地介绍了C语言与MATLAB接口函数(称之为:C-MEX函数)的编程方法。用实例详细地介绍了MATLAB中所提供的数据类型在C-MEX函数的编程方法。这些...
书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络...,包括如何创建数据库函数库以及如何与网络打印机通信等...
### PLC综合开发利器——CoDeSys基础编程及应用指南 #### IEC61131-3标准 ##### IEC61131简介 IEC61131是国际电工委员会制定的一系列用于工业控制系统编程的标准。该标准旨在为工业自动化领域的编程提供统一的框架...
基于 Scheme、Haskell 等老牌函数式语言的传统教材的问题在于,相关语言的语法和思维方式与读者现有的知识体系迥异,容易造成较为陡峭的入门门槛。此外,由于这些语言本身的实际应用机会不多,初学者也难以在实战中...
linux中常用API详细介绍,包含应用例程 1 字符测试篇 2 2 字符串转换篇 10 3 内存控制篇 17 4 日期时间篇 22 5 内存及字符串操作篇 28 6 常用数学函数篇 45 7 用户组篇 56 8 数据结构及算法篇 78 9 文件操作篇 85 10...
在Linux操作系统中,使用C语言来编写这款游戏,不仅可以锻炼编程技能,还能深入理解操作系统与图形界面的交互方式。 一、基础知识 1. C语言:C语言是一种基础且强大的编程语言,适用于系统级编程,如操作系统、...
2. Shell语法:包括变量的声明与赋值、条件语句(if...else)、循环结构(for、while)、函数定义以及错误处理机制。 3. 命令行参数和选项:学习如何在脚本中处理命令行参数,理解常用命令的选项,如ls、cd、mkdir...
JavaScript函数库是Web开发中不可或缺的一部分,它们提供了一系列预定义的函数和工具,帮助开发者更高效、便捷地处理常见的编程任务。"js函数库——打包上传"这个主题涉及到的主要是如何整理、打包和上传JavaScript...
本资源包集合了与Linux相关的多个重要方面,包括shell命令、C函数手册、Linux常见问题以及编程指南,旨在帮助用户更好地理解和操作Linux系统。 首先,让我们深入探讨一下“shell常用命令”。Shell是Linux中的命令行...
向量化编程的思路是抛弃 C 语言那种“单数值、元素化”考虑问题的思路,转以向量、矩阵为最小单位来考虑问题。这需要掌握 Matlab 语言的特点和编程思想,避免使用 C 语言风格的编程方式。 在 Matlab 中,常见的向量...
在提供的资源"94.MATLAB编程 神经网络遗传算法函数极值寻优——非线性函数极值寻优.rar"中,主要涵盖了如何利用MATLAB进行神经网络和遗传算法的结合,以解决非线性函数的极值寻找问题。这一主题包含以下几个关键知识...
《LINUX与UNIX SHELL编程指南》是一本深入讲解Shell编程技术的专业书籍,它分为五个主要部分,旨在帮助读者掌握UNIX和LINUX环境下的Shell编程技能。以下将详细阐述书中的核心知识点: 第一部分:Shell基础 这部分...
《Inside C#——C#编程从入门到精通》是一本旨在帮助初学者和有经验的开发者深入了解C#编程语言的指南。C#是由微软开发的一种面向对象的编程语言,广泛应用于Windows应用程序、游戏开发、Web服务以及.NET框架下的...
C语言实验二——函数 本实验旨在帮助学生熟悉C语言的函数编程,了解函数的定义、调用和应用。实验内容包括程序设计、程序填空和程序改错三个部分。 在程序设计部分,学生需要编写一个函数来计算并输出n(包括n)...