当前位置:首页 » 编程语言 » linuxc语言环境

linuxc语言环境

发布时间: 2023-07-11 08:51:28

‘壹’ linux环境可以跑c语言跑spi

!!!

(1)打开Linux虚拟机在桌面创建一个文件夹,在文件夹里面创建一个以.c或者.cpp为后缀的文件

(2)把你的源程序敲在你的.c/.cpp文件里面,保存!

(3)ctrl+alt+t 同时按住打开终端

(4)输入cd 然后把你在第一步创建的文件夹拖到终端里,你就会得到“cd 这个文件夹的位置”

(5)把文件路径的引号删掉,回车后你就会发现读到这个文件夹里面了

(6)然后输入gcc 文件全名(g++ 文件全名)例如:gcc a.c  然后运行

这时如果你没有安装编译器,终端上会提示你!!会提示你!会提示你!就像下面这样

然后你复制自己的提示运行就可以了,安装会要你输入密码,输入的时候是没有符号提示的!输入了就回车等下载好就可以

(7)然后会在你的文件夹里生成一个名为a.out的文件

(8)输入./a.out就可以执行了!

‘贰’ 怎么在Redhat linux下搭建C编程环境

要想在Linux下进行C语言编程,首先得搭建好一个编程环境。这里分别说明一下几个非常有用的软件包。
如果你对Linux下软件安装方法还不清楚,请参考文章“Linux下软件安装方法总结”http://zhoulifa.bokee.com/5444771.html
1、gcc
要进行C语言编程,首先得有个C语言的编译器,Linux下常用的是GNU C Compiler gcc。
gcc软件是用来提供默认值的。从Depends可以看出要gcc真正工作必须有对应的cpp和gcc版本。
比如cpp-4.1和gcc-4.1、cpp-3.3和gcc-3.4
2、gcc-*
3、cpp
gcc要进行程序编译,首先需要进行一个预编译过程。该过程对程序源代码进行预处理。

4、cpp-*

5、libgcc1
gcc还依赖于libgcc1这个软件包。libgcc1是用于gcc软件自身的必须组件。
6、libc6
C语言程序要能够运行,需要一些运行时库文件和一些库文件操作命令。libc6这个软件包就是用来提供这些的。这个软件包几乎是Linux系统自带的,因为所有C程序的运行都离不开此软件包。
7、binutils
程序从源代码到可执行程序的过程中,必然需要一些工具来辅助完成。binutils软件包就是提供一些工具的
这个软件包提供下面这些非常有用的命令:
/usr/bin/size # 显示每个目标文件或归档文件的章节大小和总的大小
/usr/bin/objmp # 显示目标文件的信息
/usr/bin/ar # 归档文件管理工具,可以创建、修改或打开一个归档文件
/usr/bin/strings # 显示一个文件中的可打印字符串,比如文本文件的全部或目标文件里的字符串
/usr/bin/ranlib # 产生归档文件的索引
/usr/bin/obj # 复制或转换目标文件
/usr/bin/addr2line # 把一个地址信息转换为文件名和行号
/usr/bin/readelf # 显示 ELF 文件信息, ELF 文件格式即 Linux 目前流行的可执行文件格式
/usr/bin/nm # 显示目标文件里的符号
/usr/bin/strip # 去除目标文件里的符号
/usr/bin/c++filt # 识别 C++ 和 Java 符号
/usr/bin/as # GNU 汇编工具
/usr/bin/gprof #
/usr/bin/ld # GNU 链接工具
8、locales
这个软件包提供本地语言环境支持

虽然上面列了这么多必需的软件包,但实际上因为他们之间有依赖关系,所以在安装完系统后我们只需要输入下面一个命令:
apt-get install gcc
系统就会自动帮忙把这些软件包安装上。

9、libc6-dev
我们要进行软件开发,必然需要一些库文件和头文件,在Linux常用的就是GNU的C语言库libc,要安装开发工具必须安装这个libc6-dev软件包
11、glibc-doc-reference
理由同上,编程人员最喜欢的参考手册就是这个软件包了,可以称为Linux下C语言编程参考。

此参考手册有html和info两种格式,你可以用浏览器打开/usr/share/doc/glibc-doc-reference/html目录下的手册一页页看。把这里每个网页一点点看完了学会了基本上没有搞不定的问题了。

12、manpages-dev
在编程的过程中有时会记不得某个函数的用法,通常这时查man手册是比较快的,所以把这个manpages-dev软件包安装上。想要看某个函数的用法就man它。
这个软件包提供系统调用和库函数的在线手册。

13、make
在进行大项目时,通常我们的程序可能是由很多源文件组成的,各个源文件生成自己的目标文件,多个目标文件才链接形成一个新的目标文件或可执行程序。
在某个源文件发生变化时,我们只需要按照这种依赖关系运行各命令重新生成程序即可,而不需要对所有源文件重新编译。哪个该重新编译呢?可以让make程序帮忙 维护
14、make-doc
要运行make工具,先得学会怎么用它吧?看这个软件包提供的文档就行了。

安装好这个软件包后,用浏览器打开/usr/share/doc/make-doc/make.html文档开始学习make的用法吧。

15、gdb
编写程序必然需要调试,在Linux常用的程序调试工具是gdb
16、gdb-doc
有了上面的gdb程序调试工具了,怎么学会使用它呢?安装这个软件包gdb-doc,即gdb的文档

安装好软件后就可以通过电脑上的文档自学gdb的使用了。

17、编辑器
要编写C程序,总得有个编辑工具吧?Linux下这类工具相当多,关键在于熟练掌握一种。
比如文本界面的编辑器vi, vim, emacs等
比如图形界面的编辑器gedit, kate, kwrite等
又比如IDE环境的:anjuta, eclipse, kdevelop等

选择一个自己习惯的熟练使用起来就行了。

这些只是基本的Linux下C编程环境必须的软件包。如果这些熟练掌握了,可以试试下面这些软件包:
autoconf, automake1.9, libtool, flex, bison
当然还有对应的文档用于自学。
甚至可以试试IDE环境下其它语言编程,比如gtk, qt等

‘叁’ linux下c语言环境变量操作的几个相关函数

这几个函数的原型在<stdio.h>中定义

/* Return the value of envariable NAME, or NULL if it doesn't exist. */
extern char *getenv (__const char *__name) __THROW __nonnull ((1)) __wur;

/* The SVID says this is in <stdio.h>, but this seems a better place. */
/* Put STRING, which is of the form "NAME=VALUE", in the environment.
If there is no `=', remove NAME from the environment. */
extern int putenv (char *__string) __THROW __nonnull ((1));

/* Set NAME to VALUE in the environment.
If REPLACE is nonzero, overwrite an existing value. */
extern int setenv (__const char *__name, __const char *__value, int __replace)
__THROW __nonnull ((2));

/* Remove the variable NAME from the environment. */
extern int unsetenv (__const char *__name) __THROW __nonnull ((1));

‘肆’ Linux环境下C开发_linux搭建c语言开发环境

一:C语言嵌入式Linux工程师的学习需要具备一定的C语言基础,C语言是嵌入式领域最重要也是最主要的编程语言,通过大量编程实例重点理解C语言的基础编程以及高级编程知识。包括:基本数据类型、数组、指针、结构体、链表、文件操作、队列、栈等。

二:Linux基础Linux操作系统的概念、安装方法,详细了解Linux下的目录结构、基本命令、编辑器VI,编译器GCC,调试器GDB和Make项目管理工具,ShellMakefile脚本编写等知识,嵌入式开发环境的搭建。

三:Linux系统编程重点学习标准I/O库,Linux多任务编程中的多进程和多线程,以及进程间通信(pipe、FIFO、消息队列、共享内存、signal、信号量等),同步与互斥对共享资源访问控制等重要知识,主要提升对Linux应用开发的理解和代码调试的能力。

四:Linux网络编程计算机网络在嵌入式Linux系统应用开发过程中使用非常广泛,通过Linux网络发展、TCP/IP协议、socket编程、TCP网络编程、UDP网络编程、Web编程开发等方面入手,全面了解Linux网络应用程序开发。重点学习网络编程相关API,熟练掌握TCP协议服务器的编程方法和并发服务器的实现,了解HTTP协议及其实现方法,熟悉UDP广播、多播的原理及编程方法,掌握混合C/S架构网络通信系统的设计,熟悉HTML,Javascript等Web编程技术及实现方法。

五:数据结构与算法数据结构及算法在嵌入式底层驱动、通信协议、及各种引擎开发中会得到大量应用,对其掌握的好坏直接影响程序的效率、简洁及健壮旅瞎性。此阶段的学习要重点理解数据结构与算法的基础内容,包括顺序表、链表、队列、栈、树、图、哈希表、各种查找排序算法等应用及其C语言实现过程。

六:C、QTC是Linux应用开发主要语言之一,本阶段重点掌握面向对象编程的基本思想以及C的重要内容。图形界面编程是嵌入式开发中非常重要的一个环节。由于QT具有跨平台、面向对象、丰富API、支持2D/3D渲染、支持XML、多国语等强大功能,在嵌入式领域的GUI开发中得到了广范的应用,在本阶段通过基于QT图形库的学习使学员可以熟练编写GUI程序,并移植QT应用程序到Cortex-A8平台。包括IDE使用、QT部件及布局管理器、信息与槽机制的应用、鼠标、键盘及绘图事件处理及文件处理的应用。

七:CortexA8、Linux平台开发通过基于ARMCortex-A8处理s5pv210了解芯片手册的基本阅读技巧,掌握s5pv210系统资源、时钟控制器、电源管理、异常中断控制器、nandflash控制器等模块,为底层平台搭建做好准备。Linux平台包括内核裁减、内核移植、交叉编译、GNU工具使用、内核调试、Bootloader介绍、制作与原理分析、根文件系统制作以及向内核中添加自己的模块,并在s5pv210实验平台上运行自己制作的Linux系统,集成部署Linux系统整个流程。同时了解Android操作系统开发流程。Android系统是基于Linux平台的开源操作系统,该平台由操作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开放和完整的移动软件,目前它的应用不再局限于移动终端,还包括数据电视、机顶盒、PDA等消费类电子产品。

八:驱动开发拆颤空驱动程序设计是嵌入式Linux开发工作中重要的一部分,也是比较困难的一部分。本阶洞租段的学习要熟悉Linux的内核机制、驱动程序与用户级应用程序的接口,掌握系统对设备的并发操作。熟悉所开发硬件的工作原理,具备ARM硬件接口的基础知识,熟悉ARMCortex-A8处理器s5pv210各资源、掌握Linux设备驱动原理框架,熟悉工程中常见Linux高级字符设备、块设备、网络设备、USB设备等驱动开发,在工作中能独立胜任底层驱动开发。

以上就是列出的关于一名合格嵌入式Linux开发工程师所必学的理论知识,其实,作为一个嵌入式开发人员,专业知识和项目经验同样重要,所以在我们的理论学习中也要有一定的项目实践,锻炼自己的项目开发能力。

‘伍’ 如何在linux环境下编辑一个c语言源程序并将其编译为可执行文件

打开安装好的Linux系统(ubuntu18.04)

1.安装编辑器

使用语句:sudo apt-get install vim安装vim,可以在安装前查看是否安装vim编辑器。(特别提示:在安装vim前最好将软件更新,使用指令sudo apt-get update.)之所以要加sudo的原因是这些安装和更新软件的时候需要使用管理员权限才可以进行。

2.安装gcc编译器

和安装vim类似使用sudo apt-get install gcc,安装完成后可以使用cc-v来查看编译器版本信息等。cc -v界面如下:

‘陆’ Linux下安装和配置C语言开发环境

修改 /etc目录下的bashrc文件或profile文件
sudo vi /etc/bashrc
文件末尾添加
export PATH=GCC所在路径:$PATH
保存退出
执行 . 空格 /etc/bashrc

再试试
PATH 是个环境变量,Windows下也有类似的东西

热点内容
国产车配置为什么这么便宜 发布:2025-02-08 22:09:52 浏览:481
服务器为什么需要专线 发布:2025-02-08 22:07:27 浏览:872
java正则表达式正则替换 发布:2025-02-08 22:01:04 浏览:505
服务器不识别配置的ip地址 发布:2025-02-08 22:00:02 浏览:615
橙云服务器 发布:2025-02-08 21:59:48 浏览:438
ftp服务器ip就是电脑ip吗 发布:2025-02-08 21:51:42 浏览:475
数据库5 发布:2025-02-08 21:43:17 浏览:51
安卓安装证书没有怎么办 发布:2025-02-08 21:32:10 浏览:358
外交官拉杆箱怎么设密码 发布:2025-02-08 21:21:55 浏览:797
vivo手机z系列哪个配置性价比最高 发布:2025-02-08 21:17:43 浏览:10