当前位置:首页 » 币种行情 » trxontheway

trxontheway

发布时间: 2025-07-31 11:06:38

㈠ 求MAME32_Plus0.88中文版 键设置问题

1.读取游戏
2.TAB
3.输入设置(一般),就是第一项,输入设置(这个游戏),就是第二项
4.P1方向,和按键1 2 3 4设置好一般即为够用5 6只有在格斗游戏,例如街头霸王这种6键游戏中才需要设置.1P开始(start) 为开始键位,投币(coin)1 为P1投币键
5.P2道理同P1
6.TAB退出设置界面,投币开始游戏

PS:要修改哪一个键位,只需在对应位置按ENTER即可让你输入要选择的键,如果想设定为无,连续敲击ENTER即可

㈡ 如何编译OpenWrt

Openwrt 官方正式的发行版是已编译好了的映像文件(后缀名bin或trx、trx2),此映像文件可从Openwrt官方网站的下载页面中轻松获取到,连接地址为 OpenWrt官方网站。这些编译好的映像文件是基于默认的配置设置,且只针对受支持的平台或设备的。因此,为什么要打造一个自己的映像文件,理由有以下四点:
您想拥有一个个性化的配置OpenWrt(彰显个性,在朋友圈子里显摆显摆,开个玩笑);
您想在实验性的平台上测试OpenWrt;
您参与测试或参与开发OpenWrt的工作;
或者,最简单的目的就是为了保持自己的Openwrt为最新版本;
若想实现上述目的,其实很简单,按下述文字即可成功编译出一个您的Openwrt来。
准备工作
在开始编译Openwrt之前需要您做些准备工作;与其他编译过程一样,类似的编译工具和编译环境是必不可少的:
一个构建OpenWrt映像的系统平台,简单说就是准备一个操作系统(比如Ubuntu、Debian等);
确保安装了所需的依赖关系库, (在debian系统中就是安装各种需要的软件包)
OpenWrt源代码副本
首先, 开机登陆到支持编译Openwrt的操作系统(废话了)。实体机或者虚拟机(Vmware 或者 Qemu)里的操作系统都行,这里推荐使用Linux系统。 bsd和mac osx系统也可以编,但不推荐,且未验证是否可编译成功。下文假定您使用的是Debian操作系统,使用 apt-get 来管理包. 替代的选择是 Ubuntu (分支 Kubuntu, Xubuntu 等即可)。
第二步, 就是安装所需要的各种软件包, 包括编译器,解压工具,特定的库等. 这些工作可以简单的通过键入以下命令 (通常需要root 或者是 sudo 权限),以root权限安装下列软件包(可能并不完整,会有提示,提示缺少即装就可以了):
32位(x86)请执行下列命令:
# apt-get install build-essential asciidoc binutils bzip2 gawk gettext \
git libncurses5-dev libz-dev patch unzip zlib1g-dev

64位(x86_64)请执行下列命令(多装了哪些库或软件包呢?请您仔细看一看哦):
# apt-get install build-essential asciidoc binutils bzip2 gawk gettext \
git libncurses5-dev libz-dev patch unzip zlib1g-dev ia32-libs \
lib32gcc1 libc6-dev-i386

参考 本列表中 所列的编译环境所需要软件包或库。
某些依赖的为库或软件包也许操作系统中已经安装过,此时apt-get会作出提示(提示您忽略或重新安装的),别紧张,放轻松些,编译Openwrt不会像编译DD-WRT那样难的(至少本人是体会到了编译DD-WRT的难)。
最后下载一份完整的 Openwrt 源码到编译环境中。关于Openwrt的源代码下载,途径有二,一是通过 svn ,一是通过 git,建议使用 svn ,因为Openwrt主要以 svn 来维护Openwrt系统的版本。另外,请注意Openwrt中不同的分支版本,一个是用得较多的开发快照,俗称 trunk,二是稳定版,俗称 backfire。
安装Subversion
若你想通过svn下载源代码,你需安装 Subversion。Subversion,或称SVN, 是OpenWrt的project中用来控制版本的系统,它非常类似的 CVS的界面和使用条款。 执行下述命令即可安装SVN,很容易的:
# apt-get install subversion

Subversion安装完毕,通过SVN命令可获取得到一份OpenWrt纯净源代码。您还得创建一个目录以便存放获取得到的Openwrt源代码,要获取源代码你还得输入subversion命令来获取 (svn里这种操作称之为'check out') 。命令很简单的,继续看下去就能见到了,别着急,耐心点儿。
编译流程
编译专属于您的设备的特定Openwrt固件以一下五个步骤:
通过Subversion命令获得源代码;
更新(或安装) package feeds〔package feeds无法确切翻译,待译吧);
创建一个默认配置以检查编译环境是否搭建好了 (假如需要的话);
用Menuconfig来配置即将编译生成的固件映像文件的配置项;
最后开始编译固件;
下载源代码
最后,下载一份完整的OpenWrt源代码。你可选择:
下载稳定发行版,或
下载开发版 (俗称"trunk"版)。
使用发行版的源码
截止本文时, Openwrt公开发行的稳定版为 OpenWrt 10.03 "backfire"。此版本是最稳定的,但也许不包括最新更新的补丁或最新编写的出的新功能。
下述代码即举例说明了通过svn从brandkfire获得backfire源代码(此版本意思是从trunk分支的补丁也在backfire版本中了,即包含修复补丁):
# mkdir OpenWrt/
# cd OpenWrt/
# svn co svn://svn.openwrt.org/openwrt/branches/backfire

注解: 上述svn命令将在当前目录创建一个 OpenWrt/backfire/ 子目录,此目录包含此命令获取到的源代码。
您也可以通过下述命令,下载不含修复补丁的backfire的原版源码:
# svn co svn://svn.openwrt.org/openwrt/tags/backfire_10.03

使用开发版源代码
当前的开发版本分支(trunk)已包含最新的实验补丁。此分支或许还突破了Openwrt原来所不支持的硬件设备的限制哦,惊喜的同时也有风险存在。因此,编译trunk版,慎之~
# mkdir OpenWrt/
# cd OpenWrt/
# svn co svn://svn.openwrt.org/openwrt/trunk/

更多详细资料详见: https://dev.openwrt.org/wiki/GetSource.
跟进并更新源代码
因Openwrt的源代码随时都会变动,故此命令将确保您所获取得到的源码的最新性。下述假设您用的是backfire版本的源码:
## Here, backfire is the directory name of the current release branch you're tracking
# cd OpenWrt/backfire/
# svn up

'svn up' 命令用于更新SVN上更新了,但本地尚未更新的这部分源代码(本人实践证明此命令会将本地源码与SVN上的源码先比较,若SVN有更新才会下载更新的部分,很实用的一个命令)。如果未指定目标路径,则此命令将更新当前目录及当前目录的子目录内的源码。
Feeds下载
Feeds即为包含到你的OpenWrt环境中的额外软件包的索引之类的。(feed译名很多,莫衷一是,至2008年底为止,还没有一个十分通用而备受认可的中文译名;所以此文当中我们用英文feed来称呼)。 最主要的Feeds有以下三个:
'packages' - 路由的基本功能,
'LuCI' - OpenWrt默认的GUI(WEB管理界面), 及
'Xwrt' - 其他的GUI。
一般情况,你至少需要含 'packages' 和 'LuCI'两个Feeds。
下载完feeds之后, (为编译OpenWrt的recipies额外的预定义包) 您可以检查哪些feeds要包括在内。编辑在你的编译环境的根目录下的'feeds.conf.default'文件。
然后使用下列命令开始下载(注:可能你需要先运行cd trunk进入trunk目录才能成功执行下列命令):
# ./scripts/feeds update -a

在此之后,下载的软件包需要安装。亦即指的下边的命令啦。若路过下边的install命令则后续make menuconfig将无法成功执行!(注:可能你需要先运行cd trunk进入trunk目录才能成功执行下列命令):
# ./scripts/feeds install -a

只需编辑Feeds的配置文件或运行更新命令,即可很方便地更新或添加新的实验性的packages到源码中并编译到OpenWrt固件去。
注意:请老坛友及旧的新闻组成员们注意了,这一步取代了创建符号链接symlinks的老办法哦。
更新Feeds
诸如此类源码,你得定期更新Feeds。 通过如上相同的命令:
# ./scripts/feeds update -a
# ./scripts/feeds install -a

注意:若你清楚地知道你不需添加新的packages到menuconfig中去,那么你可在更新Feeds时跳过这一步。
生成配置
You may not have to make configration always after updating sources and feeds, but making it ensures that all packages from source and feeds are correctly included in your build configuration.
Defconfig
下一步是检查编译环境,若可进行编译则生成默认配置:
# make defconfig

若defconfig回显提示缺少软件包或编译库等依赖,则按提示安装所缺软件包或库等即可,不难的,细心点就行。
Menuconfig
menuconfig是一个基于文本的工具,它处理选择的目标(需要还是不需要)、编译生成软件包(openwrt下是IPKG格式)以及内核选项(编译成模块还是内核)等等
# make menuconfig

在你离开并保存配置文件(默认都是.config)后,将自动配置依赖关系,让你可以着手编译更新的固件。
大众可通过'menuconfig'这一简单的图形化的配置环境,非常轻松地编译出专属您本人的OpenWrt固件。
可以用'menuconfig',以开发的意图来编译OpenWrt的固件,为自己(个人)创造一个结构简单但是功能强大的环境。(上句实在难翻译,只能意译。并且也请大家都学习下编译OP固件,让以OP固件盈利的人丢掉那肮脏的饭碗!)
Menuconfig或多或少有些难以说明的地方,即使是最专业的配置,也可以寻求帮助并加以解决。 需要你指定何种目标平台,要包含的package软件包和内核模块等均需要你指定,配置标准的过程中会包括修改:
目标平台(即路由器何种架构,BCM呢还是AR均可选择)
选择要包含的package软件包
构建系统设置
内核模块
Target system is selected from the extensive list of supported platforms, with the numerous target profiles – ranging from specific devices to generic profiles, all depending on the particular device at hand. Package selection has the option of either 'selecting all package', which might be un-practical in certain situation, or relying on the default set of packages will be adequate or make an indivial selection. It is here needed to mention that some package combinations might break the build process, so it can take some experimentation before the expected result is reached. Added to this, the OpenWrt developers are themselves only maintaining a smaller set of packages – which includes all default packages – but, the feeds-script makes it very simple to handle a locally maintained set of packages and integrate them in the build-process.
假如你需要LuCI, 要到Administration 菜单里,在LuCI组件的子菜单下, 并选择: luci-admin-core, luci-admin-full, and luci-admin-mini组件包。
假如你不需要PPP,你可到Network菜单下取消对它的选择,以便编译时不包含此组件。
Menuconfig用法: 确保这些组件包是以 '*'星号标记而不是 'M'标记。
如果你是以星号 '*'标记该组件包, 则该组件包将编译进最终生成的OpenWrt固件中。
如果你仅以 'M'标记该组件包, 则该组件包将不会编译进最终生成的OpenWrt固件中。
The final step before the process of compiling the intended image(s) is to exit 'menuconfig' – this also includes the option to save a specific configuration or load an already existing, and pre-configured, version.
Exit and save.
Source Mirrors
The 'Build system settings' include some efficient options for changing package locations which makes it easy to handle a local package set:
Local mirror for source packages
Download folder
In the case of the first option, you simply enter a full URL to the web or ftp server on which the package sources are hosted. Download folder would in the same way be the path to a local folder on the build system (or network). If you have a web/ftp-server hosting the tarballs, the OpenWrt build system will try this one before trying to download from the location(s) mentioned in the Makefiles . Similar if a local 'download folder', residing on the build system, has been specified. The 'Kernel moles' option is required if you need specific (non-standard) drivers and so forth – this would typically be things like moles for USB or particular network interface drivers etc.
编译固件
万事具备,只欠东风,通过下面简单的make命令来编译:
# make

在多核电脑中编译
具有多核CPU处理器的电脑进行编译,使用下述参数可令编译过程加速。 常规用法为 <您cpu处理器的数目 + 1> – 例如使用3进程来编译 (即双核CPU), 命令及参数如下:
# make -j 3

后台编译
若你在这个系统内编译OpenWrt的同时还处理其他,可以让闲置的I/O及CPU来在后台编译固件 (双核CPU):
# ionice -c 3 nice -n 20 make -j 2

编译简单的基本的软件包
当你为OpenWrt开发或打包软件包,编译简单的基本的软件包可以很轻易地编译该软件包 (例如, 软件包cups):
# make package/cups/compile V=99

一个在Feeds里的软件包大约是这样子的:
# make package/feeds/packages/ndyndns/compile V=99

编译错误
如果因某种不知道的原因而编译失败,下面有种简单的方法来得知编译到底错在哪里了:
# make V=99 2>&1 |tee build.log |grep -i error

上述编译命令意为:V99参数,将出错信息保存在build.log,生成输出完整详细的副本(with stdout piped to stderr),只有在屏幕上显示的错误。
举例说明:
# ionice -c 3 nice -n 20 make -j 2 V=99 CONFIG_DEBUG_SECTION_MISMATCH=y 2>&1 \
|tee build.log |egrep -i '(warn|error)'

The above saves a full verbose of the build output (with stdout piped to stderr) in build.log and outputs only warnings and errors while building using only background resources on a al core CPU.
一键编译
即使用脚本来编译Openwrt固件。许多朋友编译Openwrt是用的脚本来编译的,详见: https://forum.openwrt.org/viewtopic.php?id=28267
生成的固件在哪
编译成功后所生成的固件文件位于bin目录下,可用如下命令查看:
# cd bin/
# ls */

清理
编译OpneWrt时你可能需要一个清洁干净的编译环境。 以下操作有利用编译工作:
清洁
清洁trunk/ 目录,在编译过程中使用“make clean”命令即可。 此命令将删除bin目录和build_dir目录下的所有文件及文件夹。
## See CAUTION below
# make clean

㈢ 狗咬吕洞宾不识好人心的英文翻译

bite the hand that feeds you
划 eB`XOHK
一朝被蛇咬,十年怕草绳 Once bitten, twice shy. {*P^5w8x|I
一言既乎樱搏出,驷马难追 A word spoken is past recalling. SlY}j5H F@
一见钟情 to fall in love at first sight u9s]| w;A
一箭双雕 Kill two birds with one stone. P::,'PVng
一寸光阴一寸金 Time is money. 'T[U(TQ-
一失足成千古恨 The error committed on impulse may turn out to be the sorrow of a whole life. )',B`u|sB
一将功名万古枯 What millions died that Caesar might be great. c8wSl|4r!
一年之计在於春,一日之计在於晨 Plan your year in spring and your day at dawn. ^#SbS_Cm
一人难称百人意 You cannot please everyone. x`U%{.G-
一气呵成 Never make two bites of a cherry. !Bp8.L\6>
6[}rJN; }
2划 %H--Bnw
九死一生 to have a hair-breadth escape {,,DZ;B
人生如梦 Life is but a dream. NEz~'8x
人生自古谁无死 Death comes to all men. 1PDJai?M
人生百岁古来稀 It is seldom that a man lives to be a hundred years old. Aa$3XA
人定胜天 Man can conquer nature. &>K}z7q
人不可貌相 Appearances are often deceptive./ Never judge a look by its cover. I|%Jvl&)
十年风水轮流转 Every dog has its day. Kk9>K$ !b
;A,*qT[8
3划 XM'z2
三思而后行 Look before you leap. ]@L>we}.
三句不离本行 to talk shop W;LTBhF+=
三个臭皮匠胜过一个诸葛亮 Two heads are better than one. q`7? m)<Z
千钧一颂李发 to hang by a hair thread <Q\N nVk
大智若愚 He who canot play the fool is not a wise man. Rl@j%['a
大器晚成 Rome was not built in a day. /*/E_"F 2
山穷水尽 at the end of one's resources 0={+a pm
山中无老虎,岁祥猴子称大王 Among the blind the one-eyed is king./When the cat's away, the mice will pay. 9|1:xc
小题大做 Make a mountain out of a molehill. 1+\dz&
小洞不补,大来吃苦 A stitch in time saves nine. ;O\+~R\
小不忍则乱大谋 Patience is a virtue. t*.fIg z5)
工欲善其事,必先利其器 You cannot make bricks without straw. <` l;_8
不要厚此薄彼 Don't make fish of one and flesh of another. d& @r>J
不畏艰难 Take the bull by the horns. +b-qPR_
不要不自量力 Don't put a quarter into a pint pot. wVkaoK4
己所不欲勿施於人 Do unto others as you would be done. ' n|~=
仁者无敌 The benevolent have no enemy. 09,Eaj+
工欲善其事必先利器 You cannot make bricks without straw. 66N[$c;o
亡羊补牢 Better late than never./ It's never too late to mend. <tp!#ybA
)~`<
4划 zWZhfv7TiK
不告而别 to take French leave wHU*Oj+^)
不要不自量力 Don't put a quarter into a pint pot. 17FZ\)5
不要厚此薄彼 Don't make fish of one and flesh of another. : QQu|b
不畏艰难 Take the bull by the horns. PK-<
不战而屈人之兵 The supreme art of war is to sube the enemy without fighting. Bt$ \n=
不入虎穴焉得虎子 How can one obtain tiger-cubs without entering the tiger's lair. /#qi'VU6H
不经一事,不长一智 Experience is the mother of wisdom. .-[cD*>
少年老成 to have an old head on young shoulders ]N~;?,]
天无绝人之路 God tempers the wind to the shorn lamb. 7(p=9a![
天下乌鸦一般黑 Crows are black all over the world. 18~.0vv= T
天无绝人之路 God tempers the wind to the shorn lamb./ When one door shuts another opens. Naq3V<f6m
天助自助者 Heaven helps those who help themselves. G6w{hx
天有不测风云,人有旦夕祸福 It is the unexpected that always happens. G&02WbvV
毛遂自荐 to recommend one's own person PJ5;8.
心正不怕雷打 A good conscience is a soft pillow. L g&VqB
化干戈为玉帛 Bury the tomahwak(hatchet). .j]$VFA8av
仁者无敌 The benevolent have no enemy. hyFn Caf
今日事今日毕 Never put off till tomorrow what may be done today. :8MsW#/
文胜於武 The pen is mightier than the sword.  !#[(=
pn ,S~
5划 ?2`{1t+o
以身作则 to practice what one practices Y8 WO_GP
以毒攻毒 to set a thief to catch a thief 5p543Yf
以怨报德 to bite the hand that feeds one ' H = Wm 
以逸待劳 To wait at ease till the enemy is exhausted. ~.u$ISL<B]
以寡敌众 to fight against longer odds hOlJ0{PZ
以德报怨 to render good for evil >Z$x/OnQ
以其人之道还治其人之身 Set a thief to catch a thief. K%ogHae5
以子之矛,攻子之盾 to turn a person's battery against himself tstny;=~
四大皆空 All is vanity. vm\/aTF%g
四海之内皆兄弟 All are brothers within the four seas. @*oU(#?%
未雨绸缪 to save against a rainy day % _ v
目不识丁 not know A from B H:5)]cA>
失败为成功之母 Failure is the mother of success. 8M+hm J
失之毫厘,差之千里 A miss is as good as a mile. fd-Q,T2$f=
只要功夫深,铁杵磨成针 Little strokes fell great oaks. KcP=f e\|
毛遂自荐 to recommend one's own person Fe"m \]0
打落水狗 to hit a person when he's down %5HpiJOCw
打铁趁热 Strike while the iron is hot. 'u3$=0 
犯错是人之常情,宽恕是超凡的 To err is human; to forgive divine. 0i ]:zaR"
只要功夫深,铁杵磨成针 Little strokes fell great oaks. Tf<*ce v
/e)(Zn
6划 sV6qf= ?
任劳任怨 to bear hardship without complaint eps^>:r
自作自受 As you make your bed so you must lie on it. Rok]opgq
自讨苦吃 to make a rod for one's own back _T`d%wF<
自力更生 to shift for oneself Q)wJBo5:
自扫门前雪 After us the deluge. G / IeWxE'
回头浪子 the return of a prodigal X$ryv5
先下手为强 Offence is the best defence. ,V[m`+]vo
同甘共苦 to share one's joys and sorrows 7p, c lN|
因地制宜 act according to circumstances )1jvxCR
有勇无谋 more brave than wise zV^NQ|;a
有备无患 Good watch prevents misfortune. G6M*X`R
有志者事竟成 Where there is a will, there is a way. &'-DT-y<
有钱能使鬼推磨 Money makes the world go around. /Money talks. C>4$JR
江山易改本性难移 The child is father of the man. W$6QZg,
百无一失 Not a single miss in a hundred times. $I{Rh702?
百闻不如一见 To see is to believe. (Seeing is believing.) ~@`zv_.>+d
吃得苦中苦,方为人上人 If you wish to be the best man, you must be prepared to suffer the bitterest of the bitter. (UfMH4
每人一生中皆有得意之日 Every dog has his day. J)EO5i
色是假,美是空 Charm is deceitful, and beauty empty. +(s"0N[1
吉人自有天相 The good are protected by Heaven. / All's wel that ends well. >uD$%0bbR/
如人饮水冷暖自知 Only the wearer knows where the shoes pain. fX5,w :M
吃得苦中苦,方为人上人 No gain without pain. 9F@{@0f
xOP|zkd
7划 ZnX|^28
弄巧成拙 Overreach oneself; overshoot oneself; overshoot the mark B8}ezX
忍无可忍 to be at the end of one's patience 2U2&6(S.
忍一时之气免百日之忧 patience for a moment; comfort for many years FtkmzA)s
忘恩负义 to kick down the ladder Q)j+o} @8D
走马看花 a flying visit Hh7" 1:
防患於未然 to nip a thing in the bud 7- \ etfN
佛要金装,人要衣装 Fine feathers make fine birds. 3t'KJjO!e
兵精不必多 Too many cooks spoil the broth. !F: !h
身在福中不知福 The worth of a thing is best known by the want of it. Sf` aN8Z*
你敬我一尺,我回你一丈 You scratch my back, and I will sratch yours. q|pw>6Ak
别狗咬吕洞宾,不识好人心 Don't bite the hand that feeds you. <(Jt_1**9
志在千里 Hitch your wagon to a star. &8# 22H
tw;%0 M
8划 RjCc*t]?
奇装异服 a fantastic garb E|},EDc0
忠言逆耳 Honest advice is unpleasant to the ear eFelT{
明辨是非 to distinguish right from wrong 7~]g>$Fm{
知足常乐 Happy is he who is content FR0#"xc =
知足者富 He who feels contented is rich m"(;v7$hk
知人知面不知心 It's easy to know men's faces, but not their hearts. Kzep]LW
知己知彼百战百胜 Know your enemy and know yourself. Lgm^H|6W!g
空中楼阁 castles in the air ]5[1])zp
金科玉律 the gold rule E mh D6)
奇装异服 a fantastic garb 1 ^U\aj#
明辨事非 to distinguish right fromwrong D+XYH6)
雨后春笋 like bamboo shoots after a spring shower O=7.P C
雨过天青 After a storm comes a calm. P W'h '
秀才不出门能知天下事 A scholor does not step outside his gate, yet he knows the happenings under the sun. b4WrIYU|
事实胜於雄辩 Facts are most convincing. r1+BwNp
来得容易去得快 Easy come, easy go. X/;xM1
金玉其外败絮其中 All that glitters is not gold. N]~L0Z
兔子不吃窝边草 The fox preys farthest from his hole. y/\10\AIa
若要人不知除非己莫为 If you would not be known to do anything, never do it. <M'\$BI
没有笑脸不出门 A man without a smiling face must not open a shop. 6FN-_v;L8
虎父无虎子 Like father, like son. 0FYd p8
往者不可谏,来者犹可追 A mill cannot grind with the water that is past. t'%m9b9
5in %
9划 ) @)hI*3H
姻缘天注定 Marriages are made in heaven. Jf:s&N'
逆来顺受 to make the best of a bad bargain z(6=O.UN
流芳百世 a niche in the temple of fame Y22#$$ Y#.
为虎作伥 to act as guide to a tiger 7VTI%
孤注一掷 to put all one's egg in one basket VQn2^S5M
勇者不惧 A brave man will not shrink from dangers. '\@;ZUqbMW
洗心革面 to turn over a new leaf :5'3b
美中不足 a fly in the ointment YO\`=R#2
背道而驰 to run counter qJ}>Zf2c?
走汤蹈火 to go through fire and water P419qj$D
风烛残年 to have one foot in the grave =$& DztS]
风声鹤唳,草木皆兵 to apprehend danger in every sound , Nz6\Z@3c
活到老学到老 It's never too late to learn./ Live and learn. )UCZX]'
前事不忘后事之师 Remember the past and it will guide your future. N>r6"0_\
星星之火可以燎原 A single spark can start a prairie fire. -yh"|f
待人宽容如待己 Live and let live. jx]XiQQ
按部就班 Learn to walk before you run. J2,B!Z/~g&
{wZNyN!~
10划 Lf|iPJ=-k
病从口入祸从口出 Illness comes in by mouth and comes out by it. [,b8uw @hJ
笑裏藏刀 a smile to hide one's hate mSv/BAev
留得青山在,不怕没柴烧 Where there's life there's hope Y YA/QLJ6
海底捞月 to fish in the air Xpz/60$]H
海底捞针 to look for a needle in a bundle of hay  `Y4Pykx>
差之毫厘失之千里 A miss is as good as a mile bjeVG9 ;X
既往不咎 Let the dead bury their dead. r;Q_+^/
杀身成仁 to sacrifice one's life to preserve one's virtue complete h!NB/p;
杀鸡焉用牛刀 Take not a musket to kill a butterfly 7:~%-&b
饥不择食 A good appetite is a good sauce. 7^=!yu<`
害群之马 black sheep (HdMhj T
家丑不可外扬 Don't wash your dirty linen in public. )!JLn^I
恩威并济 alternate weakness with severity MjW[d:d*Mo
旁观者清 The outside sees the best of the game. +VbqzD&
时运不济 to have a bad time G~IQ=
殊途同归 All roads lead to Rome . DNz7X
众志成城/团结就是力量 Union is strenth. u><<!bC1
疾风知劲草 Adversity reveals genius. V8evIV<P
旁观者清,当局者迷 Lookers-on see most of the game. ^BeS*W
莫在太岁头上动土 Let sleeping dogs lie. |5H?L0&
A!D b:
11划 ^?(H
得意忘形 to leap out of one's skin (#5nqM_Du
捷足先登 The early bird catches the worm. 2] \D%1-
欲速则不达 Haste makes waste pG/AT:'O
欲速则不达 More haste, less speed. :=$9uXq =[
混水摸鱼 to fish in troubled waters \WGQ*x
贪小失大 penny-wise and poundfoolish Ivx.(8[Xq
习惯成自然 once a use forever a custom u*,@.O
挂羊头卖狗肉 cry up wine and sell vinegar nr`6;)#J`
贫无立锥之地 as poor as a church mouse `#n_`=2:
雪中送炭真君子/患难见真情 A friend in need is a friend indeed. toNus3LN
异想天开 to give loose to one's fancy O@#H =;ao
集思广义 Two heads are better than one. [t6eD{KnL
得过且过 to live from hand to mouth |f]5F`-j
情人眼裏出西施 Love is blind. F.~=KnPZ
冤家宜解不宜结 Better remove enmity than contract it. uYY,)4S
眼不见为净 Out of sight, out of mind. qdidn$^%52
!!reW@UK
12划 HFL+0T1Q
胜不骄败不馁 to be not elated by success nor disturbed by failure zI~=v;gq
富贵在天 Riches and honors come from heaven. 'mzP}(QS
智者不惑 A wise man is free from perplexities. E L ?im
无风不起浪 There is no smoke without fire. (Where there is smoke, there is fire.) 1[ sjD
画蛇添足 to paint the lily 7WzZ'6NWx
趁火打劫 to fish in troubled waters =r%HvR|7
量入为出 to cut one's coat according to one's cloth/ make both ends meet UH1Mc7%TZ
阳奉阴违 ostensible obedience Yq9% 
跑了和尚跑不了庙 The monk may run away, but the temple can't run with him. ;J4EZbp
万物之灵 the lords of creation xUe4GoA
万事开头难 Everything is difficult at the start ?1:\bHc
万无一失 not a single miss in a thousand times. ( Iu$d 
落井下石 to hit a person when he's down 3|3b0mMn
隔墙有耳 Pitchers have ears; walls have ears. MTGHn5$p$
开夜车 Burn the midnight oil. ;#y4CR`,q
@'>*!3-
13划 Y`[1Dy%@j
损人利己 to enrich oneself at others expense M1!E'S,+E
置之死地而后生 Put the trxx in death ground and they will live. PQ? g'rG
道高一尺魔高一丈 While the priest climbs a foot, the devil climbs ten. uc] 9^5aI
预防胜於治疗 Prevention is better than cure. rR5-ZWv;
新官上任三把火 New brooms sweep clean. pBpeqg
塞翁失马焉知非福 Misfortune might be a blessing in disguise. \_'lx;D
路遥知马力日久见人心 A distant journey tests the strength of a horse and a long task proves the character of a man. >.}5%Tz
沧海一栗 a drop in the bucket /iA4x8e
盖棺论定 Judge none blessed before his death. (]y\bz"`
岁月不饶人 Time and tide wait for no man. v3a zsJ
经验即良师 Experience is the teacher. tR"Z>Zt
B<M,"g_w&e
14划 rE$0p *z
寿终正寝 to die a natural death (to die in one's bed) Ce <^*K
寡不击众 There is no contending against odds. .ya|?;cqy
对牛弹琴 to cast pearls before swine n>xHMSd
祸不单行 Misfortunes never come single. Z+,1\<) v
饱食终日无所事事 to eat the bread of idleness w=pDE:
慷他人之慨 to be free with other's money L&-UAOaIwG
远亲不如近邻 Distant kinsmen mean less than close neighbors. / A near neighbor is better than a distant cousin. \,6j{Ma
种瓜得瓜种豆得豆 You must reap what you have sown. / As you sow, so shall you reap.  9(s2}/
乐极生悲 After joy comes sadness. y'b9QcUf
说曹操到曹操就到 Talk of the devil and the devil comes. >g:_ Ha9
团结就是力量 Union is strength. ^` 2D`[v
需要为发明之母 Necessity is the mother of invention. :QlqLeO9
满招损,谦受益 Haughtiness invites ruin; humility receives benefits. . 5\;E9=m
;jh coE0Io
15划 9+Wgn+z'J
恶有恶报 He that does evil shall find evil. Q8P=h=IQFD
恶事传千里 Bad news travels quickly. , Iiy2D4
熟能生巧 Practice makes perfect. (w}| hl]zb
缓兵之计 a fabian policy q,IR9vPm
缘木求鱼 to get water from a flint qQo~'m?k
适者生存 the survival of the fittest 26\6xZ;q
穷寇莫追 A cornered animal is a dangerous foe. b-~5p',l
Woe/ib\N
16划 ED/ppm@{9
积少成多 Every little makes a mickle. 4OhN
积少成多 Every little helps. `mP #cS
钱可通神 Money can move even the gods. DLKz+!KTi
谋事在人成事在天 Man proposes and God disposes. EjPCJh
学问无捷径 There is no royal road/shortcut to learning. wd[X~h
机不可失 Opportunity seldo knocks twice. )U%&_vA
Ozc%~PV3>
17划 U 3EF] s
优胜劣败 The weakest goes to the wall. !W0[TSQ"s)
声东击西 to look one way and row another )}n^4{U
脍炙人口 in everyone's mouth 9X<BN_A&
螳臂挡车 to kick against the pricks ClBAL0
鞠躬尽瘁 to give the last measure of devotion >06ecw ]:
聪明反被聪明误 to suffer for one's wisdom YB2^{_W=4H
旧调重谈 to harp on the same string .Zt!Kn
礼尚往来 Courtesy on one side cannot last long. KzC=`U!
礼多必诈 full of courtesy, full of craft L wRHzv
zwGTMLLQ
18划 YjGr[Bne
覆水难收 What's done cannot be undone. ?7::=]/$fw
转石不生苔 A rolling stone gathers no moss. K#EIP+AXk
转败为胜 to convert defeat into victory =PF:Xj!
鞭长莫及 beyond one's grasp Y/"C aKm
关公门前耍大刀 There's no need to teach a fish to swim. 9:; ~(lQf
lO3}<m @y;
20划 +Pq]D}*/
严以责己宽以待人 to be severe with oneself and lenient with others puS8,F"4k
Xwc6B:TI
21划 /GORLh##
铁石心肠 a heart of steel <Q&12r#"aD
k\(T:@ .
22划 wKi C4B<
听天由命 to be guided by destiny x?2`qz<Xr
骄者必败 Pride goes before a fall.

㈣ 如何在OpenWRT环境下做开发

1、搭建开发环境
首先,在执行make menuconfig后,会出现下图:

其中,图中红框部分是我定制路由器的系统版本,大家可以根据不同的路由器进行不同的选择;绿框部分表示我们需要编译一个SDK开发环境(默认情况下,此项未勾选)。

编译过程中需要通过官网下载很多相关的软件包,所以必须保证能够顺利连上外网。由于下载速度的限制,编译过程大概需要数小时。编译结束后,所有的产品都会放在编译根目录下的bin/yourtarget/. 例如:我所编译的产物都放在./bin/brcm47xx/下,其中文件主要有几类:

(1).bin/.trx 文件: 这些都是在我们所选的target-system的类别之下,针对不同路由器型号、版本编译的路由器固件。这些不同路由器的型号和版本是openwrt预先设置好的,我们不需要更改。至于.bin和.trx的区别,一种说法是,第一次刷路由器的时候,需要用.bin文件,如果需要再升级,则不能再使用.bin文件,而需要用.trx文件。原因是,.bin是将路由器的相关配置信息和.trx封装在一起而生成的封包,也就是说是包含路由器版本信息的.trx。在第一次刷固件的时候,我们需要提供这样的信息,而在后续升级时,则不再需要,用.trx文件即可。

(2)packages文件夹: 里面包含了我们在配置文件里设定的所有编译好的软件包。默认情况下,会有默认选择的软件包。

(3)OpenWrt-SDK.**.tar.bz2: 这个也就是我们定制编译好的OpenWRT SDK环境。我们将用这个来进行OpenWrt软件包的开发。例如,我所编译好的SDK环境包为:/bin/brcm47xx/OpenWrt-SDK-brcm47xx-for-Linux-x86_64-gcc-4.3.3+cs_uClibc-0.9.30.1.tar.bz2
可以从名称上看出,target system是brcm47xx,host system是Linux-x86_64,使用的编译工具以及库是4.3.3+cs_uClibc-0.9.30.1。

(4)md5sums 文件: 这个文件记录了所有我们编译好的文件的MD5值,来保证文件的完整性。因为文件的不完整,很容易将路由器变成“砖头”。

需要主要的是,编译完成后,一定要将编译好的bin目录进行备份(如果里面东西对你很重要的话),因为在下次编译之前,执行make clean 会将bin目录下的所有文件给清除掉!!

2、 更改原有packages

在编译根目录下会有一个dl的目录,这个目录其实是“download”的简写,在编译前期,需要从网络下载的数据包都会放在这个目录下,这些软件包的一个特点就是,会自动安装在所编译的固件中,也就是我们make menuconfig的时候,为固件配置的一些软件包。如果我们需要更改这些源码包,只需要将更改好的源码包打包成相同的名字放在这个目录下,然后开始编译即可。编译时,会将软件包解压到build_dir目录下。
当然,你也可以自己在dl里面创建自己的软件包,然后更改相关的配置文件,让openwrt可以识别这个文件包。

由于我的项目更改的内容是底层的,需要跟固件一起安装。所以,我使用的方法就是直接更改dl目录下软件包,然后重新进行固件编译。感觉类似于Linux的内核编译。反复编过十多次,没有任何问题。

3、 新建自己的packages
对于自己新建的package,而这个package又不需要随固件一起安装,换句话说,就是可以当做一个可选软件包的话。我们可以利用我们的SDK环境来单独编译,编译后会生成一个ipk的文件包。然后利用 opkg install xxx.ipk 来安装这个软件。

下面具体说下,如何编译一个helloword的软件包。
(1)首先,编写helloworld程序
编写helloworld.c
/****************
* Helloworld.c
* The most simplistic C program ever written.
* An epileptic monkey on crack could write this code.
*****************/

#include <stdio.h>
#include <unistd.h>
int main(void)
{
printf("Hell! O' world, why won't my code compile? ");
return 0;
}

编写Makefile文件
# build helloworld executable when user executes "make"

helloworld: helloworld.o
$(CC) $(LDFLAGS) helloworld.o -o helloworld

helloworld.o: helloworld.c
$(CC) $(CFLAGS) -c helloworld.c

# remove object files and executable when user executes "make clean"
clean:
rm *.o helloworld
在这两个文件的目录下,执行make 应该可以生成helloworld的可执行文件。执行helloworld后,能够打印出“Hell! O' world, why won't my code compile?”。 这一步,主要保证我们的源程序是可以正常编译的。下面我们将其移植到OpenWRT上。

(2)将OpenWrt-SDK-brcm47xx-for-Linux-x86_64-gcc-4.3.3+cs_uClibc-0.9.30.1.tar.bz2解压
tar –xvf OpenWrt-SDK-brcm47xx-for-Linux-x86_64-gcc-4.3.3+cs_uClibc-0.9.30.1.tar.bz2

(3)进入SDK
cd OpenWrt-SDK-brcm47xx-for-Linux-x86_64-gcc-4.3.3+cs_uClibc-0.9.30.1
可以看到里面的目录结构跟我们之前source的目录结构基本相同,所需要编译的软件包,需要放置在package目录下

(4)在package目录下创建helloworld目录
cd package
mkdir helloworld
cd helloworld

(5)创建src目录,拷贝 helloworld文件
mkdir src
cp /home/wrt/test/helloworld.c src
cp /home/wrt/test/Makefile src

(6)在helloworld目录下创建Makefile文件
这个Makefile文件是给OpenWRT读的,而之前写的那个Makefile文件是针对helloworld给编译其读的。两个Makefile不在同一层目录下。

touch Makefile
vim Makefile

Makefile文件模板内容如下:
##############################################
# OpenWrt Makefile for helloworld program
#
#
# Most of the variables used here are defined in
# the include directives below. We just need to
# specify a basic description of the package,
# where to build our program, where to find
# the source files, and where to install the
# compiled program on the router.
#
# Be very careful of spacing in this file.
# Indents should be tabs, not spaces, and
# there should be no trailing whitespace in
# lines that are not commented.
#
##############################################

include $(TOPDIR)/rules.mk

# Name and release number of this package
PKG_NAME:=helloworld
PKG_RELEASE:=1

# This specifies the directory where we're going to build the program.
# The root build directory, $(BUILD_DIR), is by default the build_mipsel
# directory in your OpenWrt SDK directory
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)

include $(INCLUDE_DIR)/package.mk

# Specify package information for this program.
# The variables defined here should be self explanatory.
# If you are running Kamikaze, delete the DESCRIPTION
# variable below and uncomment the Kamikaze define
# directive for the description below
define Package/helloworld
SECTION:=utils
CATEGORY:=Utilities
TITLE:=Helloworld -- prints a snarky message
endef

# Uncomment portion below for Kamikaze and delete DESCRIPTION variable above
define Package/helloworld/description
If you can't figure out what this program does, you're probably
brain-dead and need immediate medical attention.
endef

# Specify what needs to be done to prepare for building the package.
# In our case, we need to the source files to the build directory.
# This is NOT the default. The default uses the PKG_SOURCE_URL and the
# PKG_SOURCE which is not defined here to download the source from the web.
# In order to just build a simple program that we have just written, it is
# much easier to do it this way.
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
$(CP) ./src/* $(PKG_BUILD_DIR)/
endef

# We do not need to define Build/Configure or Build/Compile directives
# The defaults are appropriate for compiling a simple program such as this one

# Specify where and how to install the program. Since we only have one file,
# the helloworld executable, install it by ing it to the /bin directory on
# the router. The $(1) variable represents the root directory on the router running
# OpenWrt. The $(INSTALL_DIR) variable contains a command to prepare the install
# directory if it does not already exist. Likewise $(INSTALL_BIN) contains the
# command to the binary file from its current location (in our case the build
# directory) to the install directory.
define Package/helloworld/install
$(INSTALL_DIR) $(1)/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/helloworld $(1)/bin/
endef

# This line executes the necessary commands to compile our program.
# The above define directives specify all the information needed, but this
# line calls BuildPackage which in turn actually uses this information to
# build a package.
$(eval $(call BuildPackage,helloworld))

(7)返回到SDK的根目录
执行make进行编译
编译过程会在build_dir目录下完成
编译结果会放在 bin/[yourtarget]/package目录下helloworld_1_bcm47xx.ipk

(8)上传helloworld_1_bcm47xx.ipk
使用sftp软件上传helloworld_1_bcm47xx.ipk至路由器
执行 opkg install helloworld_1_bcm47xx.ipk
输入hello然后按Tab键,发现openwrt中已经有helloworld可执行命令。
执行 helloworld 查看程序的效果。

Hell! O' world, why won't my code compile?

【End】

希望对大家能有帮助 :)

转载

热点内容
Rc车TRX4涉水视频 发布:2025-08-01 05:45:53 浏览:809
辣条以太坊 发布:2025-08-01 05:45:02 浏览:357
蚂蚁矿机z9mini算力 发布:2025-08-01 05:26:11 浏览:265
trx超级社区跑路了 发布:2025-08-01 05:05:03 浏览:374
挖lTC的项目 发布:2025-08-01 05:04:10 浏览:206
环保币没有矿机了怎么办 发布:2025-08-01 04:53:58 浏览:934
股市btc指数是指什么意思 发布:2025-08-01 04:53:22 浏览:109
中国有防伪溯源的区块链吗 发布:2025-08-01 04:37:35 浏览:150
哥伦布区块链是什么 发布:2025-08-01 03:56:28 浏览:413
比特币日赚1 发布:2025-08-01 03:50:50 浏览:501