-
linux 如何运行程序
- 时间:2024-11-23 06:18:26
大家好,今天Win10系统之家小编给大家分享「linux 如何运行程序」的知识,如果能碰巧解决你现在面临的问题,记得收藏本站或分享给你的好友们哟~,现在开始吧!
1.怎么在linux服务器上运行程序
方法有很多种,这里介绍两种。假设pso要在linux服务器后台执行。当客户端关闭并再次登录服务器时,继续查看最初在终端输出的运行结果。
# ./pso
2.linux 如何运行编译程序
gcc有多达100多个参数,现介绍常用的几个。如果对其他参数也有兴趣,可以参考:man gcc
预先处理选项
-E: 只对文件进行预处理,输出结果到标准输出
-C: 告诉预处理器不要丢弃注释.配合`-E‘选项使用.-P: 告诉预处理器不要产生`#line'命令.配合`-E'选项使用.
-v: 显示正在使用的gcc的版本
常用编译选项
-c: 将源程序编译为目标代码但并不做链接的工作,不生成最终的可执行文件,只生成一个与源文件文件名相同的以.o为后缀的目标文件。
-S:将远程序编译为一个后缀为.s的汇编语言文件,不会生成可执行文件
-x:强制编译器用指定的语言编译器来编译某个源文件
gcc -x c++ test.c 表示强制用C++编译器来编译c程序
-static: 强制连接静态库,运行时不依赖动态库
-share: 编译时尽量使用动态库
-o: 指定生成的可执行文件名,如果没有该选项,如果生成可执行文件,默认文件名为a.out
编译路径选项
-i : 指定特定头文件
gcc –c -i /home/zry/test.h test.c
-I<DIR>: 依赖选项,指定头文件路径
Linux下大多数函数将头文件放在/usr/include目录下,如果需要指定其他路径,可以使用该选项
gcc –I/home/zry/include –c test.c 添加/home/zry/include到查找路径
-L<DIR> : 指定库文件搜素路径,用法同上
-l<库名>:指定特定库文件
gcc –lapp –c test.c
Linux的库文件有一个约定,即以lib开头,-lapp表示连接libapp.so库文件
目标生成选项
-shared: 生成动态库
gcc –shared libtest.so -i /home/zry/test.h test.c
生成静态库需要ar命令,后面讲解
-fPIC: 生成可用于动态库的位置独立代码。所有的内部寻址均通过全局偏移表完成。
-ansi:支持符合ANSI标准的C程序.
该选项就会关闭GNU C中某些不兼容ANSI C的特性,例如asm, inline和 typeof关键字以及诸如unix和vax这些表明当前系统类型的预定义宏。
__asm__, __extension__, __inline__和__typeof__仍然有效
使用`-ansi'选项的时候,预处理器会预定义一个__STRICT_ANSI__宏.有些头文件 关注此宏,以避免声明某些函数,或者避免定义某些宏,这些函数和宏不被ANSI标准调用;这样就不会干扰在其他地方使用这些名字的程序了.
fno-asm:此选项实现ansi选项的功能的一部分,它禁止将asm,inline和typeof用作关键字。
-fno-strict-prototype:只对g++起作用,使用这个选项,g++将对不带参数的函数,都认为是没有显式的对参数的个数和类型说明,而不是没有参数.而gcc无论是否使用这个参数,都将对没有带参数的函数,认为没有显式说明的类型
-fthis-is-varialble:就是向传统c++看齐,可以使用this当一般变量使用
-fcond-mismatch:允许条件表达式的第二和第三参数类型不匹配,表达式的值将为void类型
-funsigned-char:
-fno-signed-char:
-fsigned-char:
-fno-unsigned-char:
这四个参数是对char类型进行设置,将char类型设置unsigned char(前两个参数)或者 signed char(后两个参数)
-imacros file: 将file文件的宏,扩展到gcc/g++的输入文件,宏定义本身并不出现在输入文件中
-Dmacro: 相当于C语言中的#define macro
-Dmacro=defn: 相当于C语言中的#define macro=defn
-Umacro: 相当于C语言中的#undef macro
-undef: 取消对任何非标准宏的定义
-M: 生成文件关联的信息。包含目标文件所依赖的所有源代码
-MM:
和M一样,但是它将忽略由#include<file>造成的依赖关系。
-MD: -M相同,但是输出将导入到.d的文件里面
-MMD: 和-MM相同,但是输出将导入到.d的文件里面
警告选项
fsyntax-only:检查程序中的语法错误,但是不产生输出信息.
-w:禁止所有警告信息.
-Wno-import: 禁止所有关于#import的警告信息.
-pedantic:打开完全遵从ANSI C标准所需的全部警告诊断;拒绝接受采用了被禁止的语法扩展的程序.
-Werror:将所有警告转换为错误
Werror选项要求GCC将所有警告当作错误进行处理。
-Wall: 显示所有警告信息
3.linux怎么打开程序
你先去学基础知识就行了,如果你不想学,那就最好改用 for windows 的版本……
1、你在开始菜单里面找不到的程序,当然要用终端来运行,其实,可以用运行解决。印象里打开运行菜单的快捷键是 alt +
f2 。你的开始菜单上面或许也有运行的功能,和 Windows 的开始菜单,运行的作用一样,但 Linux 这个运行功能更多一些(看你用什么窗口管理器了)。
Linux 的程序是按照每个文件不同的性质放在不同的目录里。这样程序之间的调用会方便很多,而且这也是 POSIX 定义的规范。可以保证很好的兼容性。
所以你没有必要去找程序装在了什么地方。直接运行就行了,系统会帮你找到需要的东西。
2、因为 Linux 的程序可以不可以执行,要看他是不是可以“运行”,这是一个权限设置,没有这个权限,就算他真的是个程序也不行。有这个权限的文件就算不是程序,也可以运行,只不过系统运行他会出错而实际上不能运行(能运行的程序有特殊结构的)。
3、看你的是 KDE 还是 GNOME 了,都有菜单管理器。印象里都是开始菜单上右键都有这个程序的启动项。
PS:Linux 下面用终端运行程序,关掉终端会一同关掉运行的程序是因为,Linux 下面,被终端运行的程序会成为终端的子进程。子进程在父进程关闭而子进程没有经过特殊设置的时候,会被同时关闭。这是系统的默认设置。应该是一种保证系统资源稳定的设计,防止父进程已经退出,但子进程还在运行等父进程消息的这种情况,这样很浪费系统资源。
这种情况是服务器杀手,直接可以拖死服务器。
4.linux下如何完美运行exe文件?
通常情况下,任何基于Windows的exe程序都不能在LINUX下运行,这是因为它们的内核是不同的。但是可以通过在Linux上安装wine来运行exe程序。
Wine (“Wine Is Not an Emulator” 的首字母缩写)是一个能够在多种 POSIX-compliant 操作系统(诸如 Linux,macOS 及 BSD 等)上运行 Windows 应用的兼容层。Wine 不是像虚拟机或者模拟器一样模仿内部的 Windows 逻辑,而是将 Windows API 调用翻译成为动态的 POSIX 调用,免除了性能和其他一些行为的内存占用,让你能够干净地集合 Windows 应用到你的桌面。
Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。
它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。
5.如何理解Linux下使用“./”运行程序
我们在Linux下运行程序的时候,一般都是这样的操作的,例如启动Tomcat:
[root@hostname bin]#./catalina.sh run
我一直不理解这个“./”到底是什么意思,其实很好理解。
1.首先,我们看一下Windows在命令行里是怎么运行可执行程序的:
当前目录在D盘时,我运行C盘下的微信,需要指定完整的路径;当前目录就在微信的安装目录下时,我运行微信,直接指定exe可执行文件名就可以了。
搞懂了Windows怎么运行程序,Linux也是一样,说白了,都是直接敲文件名就能执行。
2.那Linux中的“.”到底是啥意思?为啥一定要敲一个“./”呢?
.和./就是表示当前目录。同Windows一样,Linux也是当前目录下没有可执行文件时,需要指定完整的路径;当前目录下有可执行文件时,直接指定可执行文件名就可以了。只不过Linux有点呆呆的,执行当前目录下的可执行文件时,必须要额外多敲一个"./",否则的话它自己不知道在当前目录下找这个可执行文件。
不加这个“./”,Linux就会从环境变量PATH中定义的路径中找可执行文件,只有加了这个“./”之后,Linux才会从当前目录中找可执行文件。
外延1:Windows和Linux中的command not found道理也是一样的,都是给定的路径不正确,导致找不到可运行文件。
Windows中直接运行微信如图:
Linux中直接运行Tomcat如图:
外延2:Windows中的PATH这个环境变量和Linux中的PATH作用是一样的
Windows中能直接运行记事本,就是因为环境变量PATH里设置了C:WindowsSystem32这个路径
当把PATH里中的C:WindowsSystem32这个路径去掉之后,就无法直接在命令行中运行记事本了。
以上就是关于「linux 如何运行程序」的全部内容,本文讲解到这里啦,希望对大家有所帮助。如果你还想了解更多这方面的信息,记得收藏关注本站~
文章★来①自Win10系统之家,未经同意不得转载!
相关文章
-
1.怎么在linux服务器上运行程序方法有很多种,这里介绍两种。假设pso要在linux服务器后台执行。当客户端关闭并再次登录服务器时,继续查看最初在终端输出的运行结果。#./pso2.linux如何运行编译程序gcc有多达100多个参数...
-
1.如何运行linuxshell程序如何运行shell程序,如何在shell程序以及后续脚本中使用同一个变量,这些在工作中经常用到,我找到如下的文章,再加深复习一下。1source命令用法:e799bee5baa6e59b9ee7ad9431333363353830source...
-
1.怎样知道某个手机应用是否在后台?关闭手机后台程序方法一1长按手机的长按HOME键,也就是手机屏幕下中间的那个按键,这时就会手机出现手机的任务管理器,你可以选择你要关闭的程序将它拖到《垃圾箱》中这样就关闭了应用...
-
1.如何让程序始终以系统管理员身份运行除了可以临时性地以管理员权限运行程序外,还可以使程序始终以管理员权限运行。这样做的好处是,省去了每次进行权限提升的麻烦,而且对于某些只能运行在管理员权限中的程序进行了...