任何人都可以通过这三个简单的步骤编译开源代码
你不需要知道如何写或读代码就可以编译它 。
安装软件的方法有很多 ,但开源让你有了一个其他地方所没有的选择:你可以自己编译代码。编译源代码的经典三步流程是:
$ ./configure$ make$ sudo make install
由于有了这些命令,你可能会惊讶地发现,你不需要知道如何写代码 ,甚至不需要读代码就可以编译它。
安装用来构建软件的命令
由于这是你第一次进行编译,所以有一个一次性的准备步骤,即安装用于构建软件的命令 。具体来说 ,你需要一个编译器。编译器(比如 GCC 或 LLVM)可以将像这样的源代码:
#include
变成 机器语言 ,即 CPU 用来处理信息的指令。你可以看一下机器代码,但它对你来说没有任何意义(除非你是一个 CPU) 。
你可以使用你的软件包管理器安装 GNU 编译器集合(GCC)和 LLVM 编译器,以及其他在 Fedora、CentOS 、Mageia 和类似发行版上进行编译的基本命令:
$ sudo dnf install @development clang
在 Debian、Elementary、Mint 和类似发行版上命令如下:
$ sudo apt install build-essential clang
在你的系统设置好后 ,有几项你每次编译软件时都要重复进行的任务:
- 下载源代码
- 展开源代码的存档文件
- 编译
你已经有了所有你需要的命令,所以现在你需要一些软件来编译 。
1 、下载源代码
获得一个应用程序的源代码和获得任何可下载的软件一样。你得去一个网站或一个代码管理网站,如 GitLab、SourceForge 或 GitHub。
通常情况下 ,开源软件既有正在进行的工作(“当前current”或
“每夜nightly ”)的构建版本,也有打包的“稳定stable”发布版本 。在可能的情况下,使用稳定版本 ,除非你有理由相信,或者对代码有足够的了解,能够在出现故障时修复。术语“稳定版”表明这些代码经过了测试 ,而且该应用程序的程序员对代码有足够的信心,从而将其打包成
.zip
或.tar
归档,给了它一个官方编号 ,有时还有一个发布名称 ,然后提供给一般的非程序员公众下载。
在这个练习中,我使用 Angband,一个开源的(GPLv2)ASCII 地牢猎手游戏 。这是一个简单的应用程序 ,其复杂程度刚好可以说明你在自己编译软件时需要考虑的问题。
从 网站上下载其源代码。
2、展开源代码的存档文件
源代码通常是以存档的形式交付的,因为源代码通常由多个文件组成的 。在与之交互之前,你必须先解压 ,不管它是一个 tarball 、一个 zip 文件 、一个 7z 文件,还是其他完全不同的东西。
$ tar --extract --file
一旦解压缩后,就把目录切换到解压缩的目录 ,然后看一看。通常在目录的顶层有一个
README
文件 。这个文件,一般会包含你需要做什么来编译代码的指导。README
通常包含关于代码的这些重要方面的信息:
- 语言 :代码使用的是什么语言(例如,C、C++、Rust 、Python)。
- 依赖性 :你需要在你的系统上安装其他什么的软件 ,以便这个应用程序能够构建和运行 。
- 说明 :你构建该软件所需要采取的明确步骤 。偶尔,他们会在一个专门的文件中包含这些信息,这个文件被直观地称为
INSTALL
。
如果
README
文件中不包含这些信息 ,可以考虑向开发者提交一份错误报告。你不是唯一需要介绍一下源代码的人 。不管他们有多么丰富的经验 ,每个人都会对从未见过的源代码感到陌生,而文档是很重要的!
Angband
的维护者给出了在线说明的链接,描述了如何编译代码。这份文件还描述了你需要安装哪些其他软件 ,尽管它并没有确切地说明这一点。该网站说,“有几个不同的可选构建的前端(GCU、SDL、SDL2
和 X11),你可以使用诸如 --enable-
sdl
,--disable-x11
的参数配置 。 ”这可能对你来说看起来像天书,但你经常编译代码后就会习惯。无论你是否理解 X11 或 SDL2
是什么,它们都是你经过几个月定期编译代码后经常看到的要求。你会对大多数软件需要其他软件库的想法感到适应 ,因为它们建立在其他技术之上 。不过在这种情况下,Angband
非常灵活,无论是否有这些可选的依赖 ,都可以进行编译,所以现在,你可以假装没有额外的依赖。
3 、编译代码
构建代码的典型步骤是:
$ ./configure$ make$ sudo make install
这些是使用
Autotools构建的项目的步骤 ,该框架是为了规范源代码的交付方式而创建的。然而 ,还有一些其他框架(如Cmake),它们需要不同的步骤 。当项目没有遵循
Autotools 或 Cmake 框架时,它们往往会在README
文件中提醒你。
配置
Angband 使用 Autotools ,所以现在是编译代码的时候了!
在 Angband 目录中,首先,运行随源码一起提供的配置脚本:
$ ./configure
这一步将扫描你的系统 ,找到 Angband 正确构建所需的依赖性。有些依赖是非常基本的,没有它们你的电脑就无法运行,而有些则是专门的 。在这一过程结束时 ,该脚本会给你一份关于它所发现的东西的报告:
[...]configure: creating ./: creating mk/: creating mk/: creating src/ation: Install path: /usr/local binary path: /usr/local/games config path: /usr/local/etc/angband/ lib path: /usr/local/share/angband/ doc path: /usr/local/share/doc/angband/ var path: (not used) (save and score files in ~/.angband/Angband/)-- Frontends --- Curses Yes- X11 Yes- SDL2 Disabled- SDL Disabled- Windows Disabled- Test No- Stats No- Spoilers Yes- SDL2 sound Disabled- SDL sound Disabled
有些输出可能对你有意义,有些可能没有 。无论如何,你可能注意到 SDL2 和 SDL 被标记为 “Disabled” ,Test 和 Stats 都被标记为 “None”。虽然这些信息是负面的,但这并不一定是一件坏事。从本质上讲,这就是 警告 和 错误 之间的区别 。如果配置脚本遇到了会阻止它构建代码的东西 ,它就会用一个错误来提醒你。
如果你想稍微优化一下你的构建 ,你可以选择解决这些负面信息。通过搜索 Angband 文档,你可能会确定 Test 和 Stats 实际上并不是你感兴趣的(它们是 Angband 专用于开发者的选项) 。然而,通过在线研究 ,你可能会发现 SDL2 将是一个很好的功能。
要解决编译代码时的依赖问题,你需要安装缺少的组件和该缺少的组件的 开发库 。换句话说,Angband 需要 SDL2
来播放声音 ,但它需要SDL2-devel
(在 Debian 系统上称为libsdl2-dev
)来构建 。用你的软件包管理器安装这两个组件:
$ sudo dnf install sdl2 sdl2-devel
再试一下配置脚本:
$ ./configure --enable-sdl2[...]Configuration:[...]- Curses Yes- X11 Yes- SDL2 Yes- SDL Disabled- Windows Disabled- Test No- Stats No- Spoilers Yes- SDL sound Disabled- SDL2 sound Yes
制作(编译)
一旦一切配置完毕,运行 make
命令:
$ make
这通常需要一段时间,但它提供了很多视觉反馈 ,所以你会知道代码正在被编译。
安装
最后一步是安装你刚刚编译的代码。安装代码并没有什么神奇之处 。所做的就是复制很多文件到非常具体的目录中。无论你是从源代码编译还是运行花哨的图形安装向导,都是如此。由于这些代码会被复制到系统级目录,你必须有
root(管理)权限 ,这是由 sudo
命令授予的 。
$ sudo make install
运行该应用程序
一旦应用程序被安装,你就可以运行它 。根据 Angband 文档,启动游戏的命令是 angband
,所以可以试试:
$ angband
编译代码
无论是在我的 Slackware 台式电脑上 ,还是在我的 CentOS 笔记本电脑上,我都会使用 NetBSD 的 pkgsrc系统编译我自己的大部分应用程序。我发现,通过自己编译软件 ,我可以对应用程序中包含的功能、如何配置、使用的库版本等有自己的想法。这很有意义,它帮助我跟上了新的版本,而且因为我有时会在这个过程中发现错误 ,它帮助我参与了很多不同的开源项目 。
你很少会只有编译软件的一种方式可选,大多数开源项目同时提供源代码(这就是为什么它被称为“开源 ”)和可安装包。是否从源代码编译是你自己的选择,也许是因为你想要最新版本中还没有的新功能 ,或者只是因为你喜欢自己编译代码。
家庭作业
Angband 可以使用 Autotools 或 Cmake,所以如果你想体验另一种构建代码的方式,可以试试这个:
$ mkdir build$ cd build$ cmake ..$ make$ sudo make install
你也可以尝试用 LLVM 编译器而不是 GNU 编译器集合(GCC)进行编译 。现在 ,我把这个问题留给你自己去研究(提示:尝试设置 CC
环境变量)。
一旦你完成了对 Angband 的源代码和至少几个地牢的探索(你已经赢得了一些休息时间),可以看看其他一些代码库。很多人都会使用 Autotools 或 Cmake,而其他人可能会使用不同的东西 。看看你能构建的成果!
via: /article/21/11/compiling-code
作者:Seth Kenlon选题:lujun9972译者:wxy校对:wxy
本文由 LCTT原创编译 ,Linux中国荣誉推出
ai伪原创程序源码AI搜索聚合伪原创秒收录日收录权重站养站程序
一 、AI搜索聚合伪原创关键词生成文章
特别说明:此程序包含秒收录日收录权重站养站视频教程
大部分内容站的详情页权重偏低是所有网站存在的问题 ,这样子导致内容的详情页排名很低,并且很难有大批量关键词上排名来提升网站的权重
这个问题的解决无非是两个方面。第一,找写手做高质量符合算法要求的内容 ,以及原生开发网站模板,增加网站整体原创度(大公司的操作);第二、对内容页进行伪原创,提高内容质量与搜索算法匹配度。至于伪原创接口大部分 ,过不了相似度算法,当然算法做的好的可以常识,还是非常好用的 。
AI搜索聚合伪原创关键词生成文章程序是通过聚合全网优质搜索引擎 ,通过 IF-TDF算法,simHash 算法,匹配优质内容 ,多个搜索引擎内容聚合,提升内容原创度与可读性;同时可以 自定义内容模板,做到内容模板页多样性原创 。
二、更新记录
2021.9.15 发布正式版V2.2.1
1 、新增moban3,加入单文章模板
2、新增searchengine设置定向选择聚合搜索引擎平台
3、新增图片保留还是删除原文图片的选择
4 、新增文章的二次筛选机制
2021.9.9 发布正式版V2.1.1
1 、加入IF-TDF算法与simHash算法对中文分词相似度提取
2、过滤文章中的部分敏感信息、清理超链 、QQ、微信、电话号码等
3 、修复图片链接被过滤问题
4、修复部分平台采集或者文章重复被过滤导致的标签匹配不到内容的问题
5、更新文章调用次数以及筛选文章逻辑
6 、修复文章匹配不足 ,空标签问题
2021.9.8 发布正式版V2.1.0
1、新增自定义moban2
2、新增VPS拨号挂机生成文章
3 、优化关键词调用逻辑
4、修复爬虫采集报错、自动发布延迟 、代理IP网速不稳定 、程序中断问题
5、优化生成文章速度
2021.9.4 发布正式版V2.0.0
1、测试内容可以支持秒收权重站养站
2 、新增本地代理IP采集、优化百度、搜狗 、360等安全提示
3、新增多页采集 ,文本长度筛选采集
4、文章生成自定义设置调用次数,通过数据库记录,简单高效。
5 、优化生成文章速度
2021.9.1 发布测试版V1.0.0
1、支持百度、搜狗 、360、头条、新浪等搜索精选内容采集 ,后续可推荐高质量内容平台
2 、通过调用AI算法相似度接口 、精准二次匹配采集到内容库的文章 。
3、获取算法推荐相近联想词生成标题,自定义标题样式
4、自定义文章发布模板,支持自定义模板内容标签 ,随心所欲修改文章样式,支持css 、js等
5、支持 z-blog自动发布、输出小旋风文章类型 、保存到本地文件夹
三、程序配置与文件介绍
---------------------by文子seo--------------------
1、说明
[config]
;采集页数(默认采集第一页,多页会影响生成文章速度)
page=1
;文本长度(采集的内容不低于这个文本长度)
charlength=20
;标题样式(关键词与联想词不可动)
titletype=关键词_联想词
;相同文章允许被调用的次数
titimes=2
;平台名称 ,自动发布:仅支持z- blog;xiaoxuanfeng生成小旋风文章,会将生成的文章保存到xiaoxuanfeng文件夹;留空则会生成保存在shengcheng文件夹下
platform=z-blog
dbcharset=utf8
;-----------------------------------------------华丽丽的分割线-------------------------------
[adslconfig]
type=daili
contain=百度,搜狗,360
name=宽带连接
daili=http:///xiongmao-web/apimoval=0&cityIds;=
dbcharset=utf8
;-----------------------------------------------华丽丽的分割线-------------------------------
;z-blog平台设置
[zbconfig]
;z-blog后台地址查看方法:z-blog后台-网站设置-基础设置-网站地址https://www./
admin_address=https://www./
;需要发布文章的账号_用户名
username=seo
;需要发布文章的账号_密码
;z-blog发布分类ID 多个分类轮流发布就英文逗号分开11 17
typeid =14
2 、文件说明
关键词文档一行一个,最多不超过5w条建议2w条 ,过多影响读取速度
templates文件夹,模板文件,随机调用里面的模板 ,默认带有两个模板moban1、moban2
模板支持标签如下:
{title1}{title2}等抽取文章的标题
{content1}{content2}等抽取文章的内容
{keyword}主关键词
{last_keyword}联想关键词
写下你的评论...
智能AI文章伪原创ai 在线伪原创工具
Ai伪原创 ,Ai伪原创工具ai智能写作伪原创软件是一个自动生成伪原创的工具 。它采用人工智能的方法,句子流畅,创意高。有必要为搜索引擎优化和自我媒体编写伪原创写作软件。
ai伪原创程序源码智媒AI伪原创工具可以批量伪原创吗
特意下载了这个软件试了一下 ,确实可以批量伪原创,语句都还蛮通顺的 。最大的亮点是竟然还免费!关注他的公众号就可以了,我还以为要收费才可以使用。
智能AI文章伪原创AI采集伪原创文章生成器哪个好用
答:我可以和你说一个不错的平台。牛商股份采用人工智能技术领域的自然语言处理技术开发的一款文章仿写工具 ,对文章内容可以进行智能分析、深度理解 、在保留文章中心思想的前提下,伪原创后的文章大大提高了文章的原创性 。