1、打开kali linux的终端。创建一个文件并命名为testc。在终端输入:touch testc。
2、可以看到已经生成了一个后缀为testc的源文件。然后用vim工具打开这个文件并编写代码。在终端中输入:vim testc或者gvim testc打开这个文件并编写代码。
3、编写完了这个代码。现在开始编译源文件。在终端中输入:gcc testcgcc是linux自带的c语言编译器。如果是windows则要用ide工具来编译。linux系统一般写C语言用gcc +vim+gdb三个自带的工具就可以了。
4、打完gcc testc编译完C源文件。然后就可以看见aout的文件。一般linux系统就默认为aout为编译完的文件。现在运行aout文件。在aout文件的目录下打开终端并输入/aout就是运行文件了。
5、如果想要编译完的文件名不要用aout文件。就可以在编译时打入gcc testc -o testout然后就可以看见有一个testout文件 了。-o后面跟着的编译生成的文件名。
6、再运行testout在终端中输入/testout结果如图。这样在linux系统下编译并运行C语言就完成了。
运行linux程序有三种方法,分别是:
1、使文件具有可执行权限,直接运行文件。
chmod 命令用来修改文件的权限。+x是使文件拥有可执行的权限。就如上面我们运行程序一样。但是我们看到的结果与我们想象当中有一定的出入。
2、直接调用命令解释器执行程序。
如下图所示:
由于我们的解释器是/bin/sh,所以,用sh命令解释器来执行程序。
我们也看到当前的工作路径没有发生变化。(黑人问号???)
3、使用source执行文件。
没错,这里我们发现当前的工作路径发生了变化,(黑人问号???)但是究竟为什么呢?让我们带着三个黑人问号详细了解一下linux程序究竟怎么执行。
如运行一个火狐浏览器 直接在终端:firefox &
jobs------------查看在后台执行的进程
fg %n----------将后台执行进程n调到前台执行,n表示jobnumber(通过jobs查看的进程编号,而非pid)
ctrl+z----------将在前台执行的进程,放到后台并挂起
bg %n---------将在后台挂起的进程,继续执行
ctrl+c----------前台进程终止
kill %n---------杀掉后台运行的进程,n表示jobnumber(通过jobs查看的进程编号,而非pid)
你先去学基础知识就行了,如果你不想学,那就最好改用
for
windows
的版本……
1、你在开始菜单里面找不到的程序,当然要用终端来运行,其实,可以用运行解决。印象里打开运行菜单的快捷键是
alt
+
f2
。你的开始菜单上面或许也有运行的功能,和
Windows
的开始菜单,运行的作用一样,但
Linux
这个运行功能更多一些(看你用什么窗口管理器了)。
Linux
的程序是按照每个文件不同的性质放在不同的目录里。这样程序之间的调用会方便很多,而且这也是
POSIX
定义的规范。可以保证很好的兼容性。
所以你没有必要去找程序装在了什么地方。直接运行就行了,系统会帮你找到需要的东西。
2、因为
Linux
的程序可以不可以执行,要看他是不是可以“运行”,这是一个权限设置,没有这个权限,就算他真的是个程序也不行。有这个权限的文件就算不是程序,也可以运行,只不过系统运行他会出错而实际上不能运行(能运行的程序有特殊结构的)。
3、看你的是
KDE
还是
GNOME
了,都有菜单管理器。印象里都是开始菜单上右键都有这个程序的启动项。
PS:Linux
下面用终端运行程序,关掉终端会一同关掉运行的程序是因为,Linux
下面,被终端运行的程序会成为终端的子进程。子进程在父进程关闭而子进程没有经过特殊设置的时候,会被同时关闭。这是系统的默认设置。应该是一种保证系统资源稳定的设计,防止父进程已经退出,但子进程还在运行等父进程消息的这种情况,这样很浪费系统资源。这种情况是服务器杀手,直接可以拖死服务器。
通常情况下,任何基于Windows的exe程序都不能在LINUX下运行,这是因为它们的内核是不同的。但是可以通过在Linux上安装wine来运行exe程序。
Wine (“Wine Is Not an Emulator” 的首字母缩写)是一个能够在多种 POSIX-compliant *** 作系统(诸如 Linux,macOS 及 BSD 等)上运行 Windows 应用的兼容层。Wine 不是像虚拟机或者模拟器一样模仿内部的 Windows 逻辑,而是将 Windows API 调用翻译成为动态的 POSIX 调用,免除了性能和其他一些行为的内存占用,让你能够干净地集合 Windows 应用到你的桌面。
安装 WineHQ 安装包(Ubuntu 18042 64位系统为例)
如果您之前安装过来自其他仓库的 Wine 安装包,请在尝试安装 WineHQ 安装包之前删除它及依赖它的所有安装包(如:wine-mono、wine-gecko、winetricks),否则可能导致依赖冲突。
如果使用的是 64 位系统,请开启 32 bit 架构支持(如果之前没有开启的话):
# sudo dpkg --add-architecture i386
下载添加仓库密钥:
# wget -nc >
# apt-key add winehqkey
添加仓库:
# sudo apt-add-repository 'deb >
更新安装包:
# sudo apt update
安装Wine:
sudo apt install --install-recommends winehq-stable
至此wine就安装完成了。下面安装exe程序(以QQ为例)
下载以exe为后缀的QQ可以执行文件到桌面,右击该可执行文件选择“使用其他程序打开(A)”
在d出的对话框里选择“Wine Windows Program Loader ”
接下来就和在Windows下安装软件一样直到安装完成
注意事项:如非必要,一般不太建议在Linux上运行exe程序,可能会遇到各种各样的的Bug。
参考资料:
网页链接
是这样的
首先要保证你安装的是正确的,接着保证你的这个可执行文件有当前登录账号的执行权限,可以用ls -al查看一下
如果,你可以使用如下方式执行:
1、/tlesp (如果后面又参数,你可以根据需要添加参数)
2、/home/path/tlsap (如果后面又参数,你可以根据需要添加参数)
以上就是关于Linux中,运行一个C语言程序如何运行全部的内容,包括:Linux中,运行一个C语言程序如何运行、如何运行 Linux 下的软件、启动时怎么让linux程序在后台运行程序运行等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)