源码编译, 一种简单而实用的技巧

本文针对没有Linux根权限的生、化、环、材计算模拟研究者,提供了一种源码编译安装的方法,强调在教程中使用$HOME代替绝对路径以避免权限问题。建议在涉及路径时,加上$HOME指示,简化安装过程,减少“Permission denied”错误。此外,视频链接展示了如何以普通用户身份编译安装gcc9套件。
摘要由CSDN通过智能技术生成

这是写给生、化、环、材做计算模拟的硕士、博士新生看的. Linux运维大佬请绕道看别的去吧. 这些硕士、博生新生, 能在微软搞定通过ssh访问服务器, 以及图形程序正常工作, 就算“电脑高手”了.

关于源码编译, 基本都是看手册, 执行诸如make, make install之类的.

最大的现实问题在于, 生、化、环、材做计算模拟的硕士、博士新生所使用的Linux平台, 一般没有root权限, 或者都是HPC平台, 能有root权限就见鬼了. 直接照搬各种站点千篇一律的“make; make install”之类的操作肯定是不行的.

不要讲什么请替换目录呀之类的. 晓得替换目录为自己实际目录的, 自己看原版readme就搞定了, 还需要通过baidu/bing来找中文安装教程吗?

你还别笑, 很多刚开始使用Linux工作站或者HPC的学生, 你问他/她用户名是啥, 都搞不定呢.

我推荐的方案是, 请在教程中, 凡是涉及到路径的地方, 最左面, 都添加一个$HOME, 对, 没看错, 就是额外添加一个红色字符串, 其他的都照抄. 

使用这套方案之后, 安装所有的东西, 再也不会遭遇“Permission denied”之类的破事了. 

参考视频
以普通用户源码编译安装 gcc9 套件_哔哩哔哩_bilibili

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个编译器的源代码是我原先为了完成编译原理实验课作业而写的,所以只具有教学价值,现在发出来和大家共享 ;-)<br/><br/>和网上流传的版本不同,它从文法开始,一直做到了符号表的实现. 想实现自己的编译器的话,只需在把Initializtion.h中的文法修改为自己的即可.<br/><br/>工程结构:<br/>Initializtion.h 初始化文法,便于进一步进行分析,它为构造GRAMMAR类提供了信息.其中默认非终极符用<>括上,修改时需要注意.<br/>Grammar.cpp Grammar.h 定义了文法GRAMMAR类,它通过initializtion.h的信息建立文法的内部表示。<br/>LL1_Analyser.cpp LL1_Analyser.h 定义了LL1分析器,即LL1_Analyser类.<br/>LL1_Recognizer.cpp LL1_Recognizer.h 为LL1语法分析驱动器,可以通过文法,TOKEN序列和LL1分析表,判定语法是否正确,同时驱动动作.<br/>Rec_Parse.cpp Rec_Pares.h 实现了递归下降分析器Rec_Parse类, 递归下降的思想和LL1驱动器一样,不过是把压栈改成调用自己,而把弹栈改成返回.<br/>Scanner.cpp Scanner.h 实现了词法分析器,可以将程序变为TOKEN序列. 扫描的源程序文件路径也在这里被定义(默认为.//demo.txt)<br/>Action.cpp Action.h 实现了语义栈的操作,_Action类定义了动作符号所对应的动作.<br/>SymTable.cpp SymTable.h 实现了符号表的建立和输出.<br/><br/>希望大家能通过该程序对STL和编译原理有更深刻的理解,Have Fun and Good Luck!<br/><br/> -- David.Morre
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值