-
如何编译含有多个文件的fortran程序包(Linux多文件编译)
2020-06-15 21:54:02如何编译含有多个文件的fortran程序包(Linux多文件编译) 初学Linux,拿到的程序都是压缩包,解压之后发现各个程序互相嵌套,而且往往不是用同一种语言写的,因此在编译的过程,需要厘清每个文件之间的逻辑关系。 ...如何编译含有多个文件的fortran程序包(Linux多文件编译)
初学Linux,拿到的程序都是压缩包,解压之后发现各个程序互相嵌套,而且往往不是用同一种语言写的,因此在编译的过程,需要厘清每个文件之间的逻辑关系。
下面就谈一谈我第一次将多文件成功编译的心得吧:
对于有Makefile的程序包
这样的程序包往往关系复杂,但是编译起来却很简单:不需要按照文件的结构依次编译每个文件,只需要在shell中输入make即可全部编译完成。如果非常关心各个程序之间的相互关系,只需要打开Makefile查看即可。
关于Makefile的教程,推荐学习《跟我一起写Makefile》(作者:陈皓)
对于没有Makefile的程序包
这样的程序包通常比较简单,文件数量比较少,但是需要厘清所有程序之间的结构,按照从末端到主干的顺序依次编译。
一般来说,主干程序为main.f95,调用其他程序通常会在文件的开始或函数的开始进行声明,声明的方式有两种:
#This is main.f95 #first declaration: use module_name use comvar #second declaration: use 'module_file_name' include 'comvar.f95' #This is comvar.f95: declare module_name module comvar
然后,根据主干程序所声明的枝干程序,进一步追索,可以连成程序树,例如下图。按照从子程序到主程序、从末端模块(module)到主干函数(subroutine)的顺序进行编译。
例如上图在shell中的编译顺序为>>gfortran -c nrtype.f95 nrutil.f95 newftt.f95 #最末端的三个模块 >>gfortran -c comvar.f95 com_ptam.f95 bessel.f95 #需使用nrtype.o nrutil.o newftt.o >>gfortran -c ptam.f95 #需要使用com_ptam.o nrtype.o >>gfortran -c Gij_.f95 #需要使用com_ptam.o comvar.o bessel.o >>gfortran -c main.f95 #需要使用以上所有.o程序 >>gfortran -o main bessel.o com_ptam.o comvar.o Gij_.o main.o newftt.o nrtype.o nrutil.o ptam.o #编译获得main文件 >>./main #运行main文件
当然gfortran编译顺序是从前向往,因此以上代码可以合并为
>>gfortran -c nrtype.f95 nrutil.f95 newftt.f95 comvar.f95 com_ptam.f95 bessel.f95 ptam.f95 Gij_.f95 main.f95 >>gfortran -o main bessel.o com_ptam.o comvar.o Gij_.o main.o newftt.o nrtype.o nrutil.o ptam.o >>./main
感谢张老师布置的作业和提供的程序,以后人生中应该很难再次体会到第一次编译成功的喜悦了,上面的示例代码是用基函数展开的方法绘制半无限空间格林函数的理论地震图的。
-
Linux下反编译Android apk文件
2018-08-06 10:16:00本人系统为Ubuntu16.04 LTS 1、工具准备 反编译过程中需要用到三个工具:apktool、dex2jar和...jd-GUI:查看dex2jar反编译出来的jar文件,使用该工具可以看到字节码对应的源代码。 以上三个工具点开链接按照Insta...本人系统为Ubuntu16.04 LTS
1、工具准备
反编译过程中需要用到三个工具:apktool、dex2jar和jd-Gui。
apktool:反编译出apk所需要的资源文件和布局设置文件。
dex2jar:反编译出jar文件,即apk的源程序字节码
jd-GUI:查看dex2jar反编译出来的jar文件,使用该工具可以看到字节码对应的源代码。
以上三个工具点开链接按照Install Instructions 安装就可以了。
2、反编译步骤
- 反编译出资源文件
在终端中输入一下命令:
apktool d ./xxx.apk(apk的路径)
当前目录下就会生成一个名为xxx的目录,里面包含了反编译出来的各种资源文件,其中其中res表示资源文件,smali表示源代码,不过是字节码,不能直接查看。
- 反编译源代码
在apk所在目录打开终端,输入一下命令:
sh xxx/d2j-dex2jar.sh -f xxx.apk
其中 xxxx/d2j-dex2jar.sh中xxx为dex2jar的根目录 xxx.apk为需要反编译的apk。命令运行后会在当前目录下生成一个xxx-dex2jar.jar文件。
- 查看源代码
打开jd-gui工具,选择打开上述得到的xxx-dex2jar.jar文件即可查看apk对应的代码。
-
Linux基础~编译执行C/C++文件
2019-08-06 18:33:38想要成为一名优秀的嵌入式开发从业人员,Linux是必须要学好的,今天就记录以下最简单的入门操作,如何在Linux系统中编译和执行C/C++文件 环境:Linux Ubuntu 16.04 主要使用工具:vim / gcc / g++ 第一步:打开... -
ubuntu中如何查看文件是gcc编译出来的还是arm-linux-gcc编译的?
2012-02-18 14:13:37ubuntu中如何查看文件是gcc编译出来的还是arm-linux-gcc编译的?谢谢 -
linux 编译静态库文件
2018-11-18 21:48:55编译步骤: gcc -c *.c 编译静态库 ar -r libtest.a *.o 编译执行文件 gcc main.c -L libtest.a -o main ./main ...linux 查看动态库以懒的文件 使用 ldd 久添加环境变量(影响...编译步骤:
gcc -c *.c
编译静态库
ar -r libtest.a *.o
编译执行文件
gcc main.c -L libtest.a -o main
./main
https://www.cnblogs.com/huangxinzhen/p/4047051.html
linux 查看动态库以懒的文件 使用 ldd
久添加环境变量(影响当前用户)
#vim ~/.bashrc
export PATH="/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH"
-
Linux系统下编译C++文件初级
2017-06-15 14:38:421、在桌面上新建一个HelloWorld.cpp文件;...3、打开Ubuntu的Terminal终端,在控制台输入“cd Desktop”进入到桌面目录,然后输入“ll”,查看桌面上的所有文件,可以发现刚刚建立的HelloWorld.cpp文 -
Linux查看文件编码格式及文件编码转换
2017-02-13 10:55:24CSDN GitHub Ubuntu下apache的安装与配置 AderXCoding/system/tools ...1. 问题描述–(linux下经常遇到的编码问题)师兄在 windows 下写的一段程序(C/C++ 编写), 传给我在 Linux 下面运行, 编译和运行的时候输出 -
在Linux PC上查看arm交叉编译的可执行文件依赖的动态库
2020-11-16 14:26:08在电脑上安装的Linux系统中,有一个ldd命令,可以查看对应的可执行文件或库文件依赖哪些库,但可执行文件或库文件要求与操作系统的编译器类型相同,即电脑是X86的GCC编译器,那么无法通过ldd命令查看ARM交叉编译器... -
linux反编译java_linux系统上如何反编译.class文件
2021-02-27 12:23:45问题描述:很多时候,我们开发都是在windows环境进行的,因此,习惯了使用鼠标,习惯了很方便的浏览,...可以比较文件的大小,可以比较文件的MD5,但最可靠的方法,还是把.class文件反编译,查看内容是否正确。今... -
linux 编译.c文件
2016-12-13 21:23:41生成预编译文件:编译头文件和ifndef、ifdefine,生成*.i文件,可以进行查看 gcc -E test.c -o test.i 2.生成汇编文件:将预编译文件生成*.s汇编文件 gcc -S test.i -o test.s 等价于:gcc -s test.c -o test.s ... -
Linux源代码编译
2018-06-08 19:42:00一、lamp编译 linux+apache+mysql+php ... 1、安装gcc编译器 linux下源代码C语言如何编译 查看内存 free ...编译过程:生成配置文件、编译、安装 在软件安装包里 .h文件是C语言的函数库 以安装appache ... -
Linux下查看.so和可执行文件是否debug编译的方法(必看)
2020-09-15 10:51:58下面小编就为大家带来一篇Linux下查看.so和可执行文件是否debug编译的方法(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 -
Linux下自动编译和运行c++文件的shell脚本
2018-04-23 17:57:15运行环境 操作系统:ubuntu 16.04 ...自动运行.out文件查看输出。 脚本程序 将以下脚本程序命名为autorun.sh #!/bin/bash cppname=$1 outname=${cppname%.*} outname=$outname".out" g... -
linux 查看一个库文件/可执行文件是否是debug模式编译出来的
2019-10-18 16:03:24参考:... 通过man readelf,可以看到 –debug-dump是用来打印debug节的信息的。 实战了下,用gcc -g选项(并且不能strip)编译出来的库/exe,用这个命令可以打印出大量信息。而对于r... -
根据Linux内核menuconfig编译选项查找源代码文件
2017-06-28 14:44:491、找到需要的编译选项,以“USB Test and Measurement Class support”为例; 2、选择 查看帮助信息: ...3、查看帮助信息里的Kconfig文件找到配置选项USB_TMC,再查看Makefile找到该选项对应的源文件,如下图所示。 -
Linux下查看.so和可执行文件是否debug编译
2020-06-15 14:33:27我记得以前自己是用file来查看一个.so, 根据是否包含"not stripped"来判断该.so是否是debug编译的, 于是就没做实验就回答. 然而, stripped/not stripped并不是debug/release编译的判断标准. 我对debug和release的.so... -
linux下安装编译源文件和rpm文件
2007-07-02 21:21:00今天在linux下搞查看代码的软件kscope搞了一下午,把安装软件的来龙去买终于搞了个遍,主要有source文件编译和rpm文件的安装 source文件主要在目录下: ./configure 可以通过./configure --h来查看安装选项 make ... -
linux编译lnx文件命令_Linux命令总结
2021-01-12 16:26:52查看当前用户whoami4.Linux系统7个运行级别(runlevel)http://www.cnblogs.com/dkblog/archive/2011/08/30/2160191.html5.查看系统版本和内核查看系统的内核信息:# uname -a#cat /proc/version查看系统的发行版本... -
Linux内核编译 ko文件
2014-03-24 14:54:491. make menuconfig 选择驱动为 <M> 2.make modules 3.查看目录即可 -
golang Windows下编译linux可执行文件
2019-06-01 09:37:43编译windows文件 SET CGO_ENABLED=1 SET GOARCH= SET GOOS=windows go build xxx ...编译Linux文件 SET CGO_ENABLED=0 SET GOARCH=amd64 SET GOOS=linux go build xxx 查看linux cpu架构 uname -... -
linux C++库文件编译报错:error: file not recognized: File format not recognized
2020-10-09 10:48:49这种问题是文件格式有问题,通过查看文件属性: #异常库文件 指令:file libthrift-0.13.0.so 返回:libthrift-0.13.0.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), statically l -
Arch / Manjaro Linux下 Opencv 编译\ 配置\ 查看
2019-09-30 09:32:271. 安装 下载OpenCV的安装包,OpenCV官网下载地址 在这里我下载OpenCV4.0的安装包,下载Sources包并解压, 在解压的文件夹里新建一个文件夹用来...然后在新建的这个文件里运行cmake(OpenCV4默认不生成.pc文件,OPEN... -
Linux内核编译实战-Linux配置与编译内核
2011-02-11 10:03:00这两项工作需要经常查看内核的文档,至少要查看Readme文件和Documentation目录下的Changes文件。它们对内核进行了描述,比如升级内核可能出现的问题和内核对系统中工具的版本要求等。Linux内核的编制方法下面将做具体... -
linux编译lnx文件命令_Linux 自己的常用命令
2020-12-20 16:02:14返回上两级目录cd 进入个人的主目录cd~user1 进入个人的主目录cd-返回上次所在的目录pwd 显示工作路径ls 查看目录中的文件ls-F 查看目录中的文件ls-l 显示文件和目录的详细资料ls-a 显示隐藏文件ls*[0-9]*显示包含...
-
InPixio Photo Maximizer Pro(图片无损放大器软件)直装特别版V5.11.7612.27781
-
刑法学--期末复习题(含答案).pdf
-
Windows系统管理
-
libFuzzer视频教程
-
C语言零基础入门(详细讲解)
-
西南科技大学《电路分析》两套期末试卷(含答案).pdf
-
基于SSM实现的房屋租赁系统【附源码】(毕设)
-
Vue 通过 vue 的 router 传递参数两种方式总结
-
Mysql数据库面试直通车
-
基于Flink+Hudi构建企业亿级云上实时数据湖教程(PC、移动、小
-
浙江科技学院《土木工程材料》16套复习测试题(含答案).pdf
-
谈一谈php://filter的妙用
-
vsphere7.0补丁
-
浙江科技学院《电工学》复习资料(含答案).pdf
-
西南科技大学《高等数学B2》期末考试试卷(含答案).pdf
-
【布道者】Linux极速入门
-
国外数字图像处理总结笔记.zip
-
移动支付网-2020数字人民币发展研究报.pdf
-
详解Go 中方法与函数的区别
-
西南科技大学《软件技术基础》两套期末考试试卷(含答案).pdf