HG255D[OpenWrt]从入门到精通

2023-05-16

本文针对华为HG255D,但同时具有一定的通用参考价值

一、刷机篇

要想放心大胆的玩学会刷机是少不了的,经过我的反复多次的折腾总结了自己认为稳定而且简单的方法,最终达到刷不死的境界。

1,刷机和恢复教程(参考地址:http://itbbs.pconline.com.cn/15815647.html)

先上两张图:


华为HG255d只要是电信原版的u-boot就刷不死,所以大家可以放心大胆的刷!
(类似电脑BIOS那样,只要这个没坏,可以装系统换来换去,不管砖头还是不转头,只要按住Reast键开机,登陆网页进入刷机模式任刷)真贴心的设置
  

  刷机固件打包下载网盘:http://l7.yunpan.cn/lk/91krrjpbvq
一、刷openwrt
1.前期固件准备:
软件:1102-0x20000_hg255d-squashfs-tftp.checksum2.bin
②openwrt固件:0508-openwrt-ramips-rt305x-hg255d-squashfs-By_shcl.bin
(我用的是shcl版的,感觉还不错,你也可以刷其他版本的)

2.连接网线,设置固定IP地址

 3.刷机过程
打开IE并在地址栏输入http://192.168.1.1/upload.html
用牙签顶住reset键后打开电源,开机后一直保持按住reset键。
回到IE按回车,再以每秒一次的速度刷新网页直到出现升级页面,就会出现刷机画面,这时候可以松开reset键。
(可以按F5刷新,不过我建议在地址栏按回车键,效果比较好……


出现了这个画面,马上上传1102-0x20000_hg255d-squashfs-tftp.checksum2.bin,快速按Update software。上传成功之后,网页页面变为
(这个时候就慢慢等,一开始进入刷机模式,路由器有五六个灯是亮的,等它自动刷好,会自动重启,这是电源灯一闪一闪,最后只有两三个灯亮,就可以确定刷机完成了)

⑤ 自动重启后不要关机,输入192.168.1.1进入管理页,账号root,密码admin,在备份|刷机界面中选择:0508-openwrt-ramips-rt305x-hg255d-squashfs-By_shcl.bin固件再次刷机。



(大概等四五分钟,这期间两三个灯常亮,刷完后会自动重启,电源灯会一闪一闪,之后常亮重启完,再次进入输入192.168.1.1进入管理页,账号root,密码admin,可以设置了~~

二、刷DD-Wrt固件  

因为固件问题,这个DD固件不是原生为这款路由设计的,而是华硕RTN13UDD固件,因为硬件大致相同,所以可以混用
1.前期固件准备:
软件:1102-0x20000_hg255d-squashfs-tftp.checksum2.bin(和刷OpenWrt的那个是一样的)
固件:Asus-RTN13U-r17990.bin(听说这是电信原版uboot最稳定少BUG的固件,当然,你也可以尝试下RTN13U其它固件,反正这路由器只要你不改Uboot是刷不死的)
2.刷机过程,参照刷OpenWrt,过程是一个鸟样
将电脑本地网卡设成固定ip 192.168.1.2 网关留空。
打开IE并在地址栏输入http://192.168.1.1/upload.html
网线连接路由器任意lan口,用牙签顶住reset键后打开电源
选择1102-0x20000_hg255d-squashfs-tftp.checksum2.bin固件后点击升级。
自动重启后不要关机,输入192.168.1.1进入管理页,在备份|刷机界面中选择:Asus-RTN13U-r17990.bin固件再次刷机


三、刷回电信固件
刷机过程也是一样的

将电脑本地网卡设成固定ip 192.168.1.2 网关留空。
打开IE并在地址栏输入http://192.168.1.1/upload.html
网线连接路由器任意lan口,用牙签顶住reset键后打开电源
选择HG255d_telecom.bin固件后点击升级【刷回电信比较简单,刷一次就好,不用刷1102-0x20000_hg255d-squashfs-tftp.checksum2.bin

 等待2-3分钟后原版又回来了(超管账户telecomadmin ---- nE7jA%5m)

2,路由管理方法和软件使用方法(含ipk包的上传安装方法)

用WinSCP在PC和OpenWRT之间传输文件

如果你嫌vi学起来麻烦,不喜欢用vi编辑,那么学会用WinSCPPCOpenWRT间传送文件吧。

仍旧以RT-N11+image文件为例。我们在《在华硕RT-N11+上运行OpenWRT +Asterisk》中提供的编译好的image文件已经提供了对SSH-2的支持,所以可以利用WinSCP工具连接到RT-N11+上方便的实现文件传输。

    实现了PC和OpenWRT之间的文件传输,需要编辑Asterisk配置文件时直接传到PC上编辑,编辑完了再传回去就好了,可以不必再学习相对繁复的vi编辑器。

(1)配置WinSCP联接,注意协议选择SCP

2)点击Login后由于密码未填(为空),WinSCP要求输入密码,我们默认密码为空,直接点OK

3)WinSCP联接成功,可以用鼠标拖动实现PC与RT-N11+之间的文件传输了

4)WinSCP会报个错误,不理它,直接点OK过

5)二、安装使用介绍(常规的安装方法):

1.  通过WinSCP将安装包上传至路由/root/ 目录下,然后在SSH中输入命令:

  opkg install njit8021xclient_1.1-1_brcm63xx.ipk

  另:

  WinSCP使用方法:打开WINSCP,输入主机名192.168.1.1,端口号22,用户名root,密码是你刚才设置的,下面的文件协议选SCP。之后登陆。

二、OpenWrt平台的搭建,含交叉编译平台和SDK(ToolChain)开发环境的搭建

 这里网上教程很多很详细,我就自己实践过的文章推荐给大家

1OpenWrt完整平台的搭建

 

 环境:

Ubuntu 10.04subversionVMware workstation 7.1.3

、安装好后,在左上角“系统”菜单的“首选项”中选择“屏幕保护程序”,然后去掉左下角的“计算机空闲时激活屏幕保护程序”,然后按“关闭”,这个窗口是没有“应用”或“确定”之类的,直接关闭它就会保存。用惯了WINDOWS的用户注意了。为什么要做这步呢因为整个编译过程中有些步骤要等一段时间的,老是自动启用屏幕保护程序,然后还要重新输密码才能退出,也是麻烦事。

首先是得到openwrt-dreambox的源代码。

然后装上各种依赖关系包:

sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils subversi-dev ncurses-term zlib1g-dev

sudo apt-get update

sudo apt-get install  libncurses5-dev  zlib1g-dev gawk  flex  patch  git-core g++   subversion

(注:backfire对于HG255D绝对是最好的版本选择,不然问题接踵而至)

然后进入home目录,建立文件夹:

makedir /openwrt

cd /openwrt

svn co svn://svn.openwrt.org.cn/dreambox/backfire openwrt-dreambox

cd openwrt-dreambox

./scripts/feeds update -a

./scripts/feeds install -a

然后输入make menuconfig,开始进入内核配置界面:


这里只需选择两项

 1. Target System :  CPU型号 (RT305X

 2. Target Profile :   路由器新号(系列)(HG255D 只有backfire才有该型号吧)

 3.最后:  make V=99 (输出调试信息模式下进行)

  注:第一次编译由于要下载大量的软件包,慢慢的等吧,快则半小时,慢则23小时如果下载过慢,建议您中断编译过程,然后用迅雷去主动下载,放到./dl目录下。一个加快速度的小技巧: 本站小编已经将将一些常用的软件包打包成dl.tar,放在​http://ul.to/2y8a2w, 下载后用tar xvf dl.tar(在windows下用winrar打开即可,然后你用ftp或者samba之类传到Linux PC上),将解包出来的东东直接放到./dl目录下,相必会大大加快初次安装、编译的速度。同样在​http://ul.to/fasgus上可下载linux-2.36.30.10.tar.bz2,当然您也可以用迅雷之类的工具来下。

2、指定平台的交叉编译环境(SDK开发环境的构建)

Openwrt SDK是一个可再定位的,预编译好的OpenWrt工具链,适用于在不从头开始编译整个系统的前提下,针对一个特定平台交叉编译单个用户空间包。

使用SDK的原因:

为了保证二进制和特性兼容性,针对特定的发行版编译自定义软件

编译更新版本的指定包文件

使用自定义的补丁或者不同特性来重新编译已经存在的包

0.下载适合自己路由器平台的相关SDKToolChain 

如:HG255D的官方下载地址为:

http://downloads.openwrt.org/attitude_adjustment/12.09/ramips/rt288x/


其中:

OpenWrt-SDK-ramips-for-linux-i486-gcc-4.6-linaro_uClibc-0.9.33.2.tar.bz2

OpenWrt-Toolchain-ramips-for-mipsel_r2-gcc-4.6-linaro_uClibc-0.9.33.2.tar.bz2

这两个是我们要下载的文件,(不是说SDK么,那是应为ToolChain里面有我们SDK编译是需要的lib等其他库文件)

0. 安装编译环境需要的相关依赖吧(多装总部少装问题要好):

  sudo apt-get update

  sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils subversion libncurses5-dev ncurses-term zlib1g-dev

  sudo apt-get install  libncurses5-dev  zlib1g-dev  gawk  flex  patch   git-core g++   subversion

1. 把OpenWrt-SDK-ramips复制到一个目录,解压

   tar  jxvf  OpenWrt-SDK-ramips-for-linux-i486-gcc-4.6-linaro_uClibc-0.9.33.2tar.bz2

2. 进入目录

   cd  OpenWrt-SDK-ramips-for-linux-i486-gcc-4.6-linaro_uClibc-0.9.33.2

3. 将自己的项目代码目录拷贝到本目录的 package目录下(下面也会讲到,这里只是提一下)

    注意 Makefile 必须遵守openwrt的规则可参考

    http://blog.chinaunix.net/uid-27194309-id-3432651.html

4. 编译成功后在bin/ar71xx/packages目录下可以看到相关的ipk文件可用winscp 拷贝出来

注:

#编译所有组件   make V=99  

#单独编译某个组件  make package/{PackageName}/compile

5. 安装到路由器上实验这个你们都懂的

注:项目的src里的Makefile源代码生成的目标程序名 = PackageName 根目录(src上层目录)下面的 Makefile 里面定义个PKG_NAME,不然各种奇葩的错误等着你,而且官网上没有文档说明这点。

另外:千万不要看网上说编译完一个package后要执行下make distclean以清理之类的,要不然等着出现各种问题吧,最后不的不得重新解压我们的SDK

#: SDK的目录不要改动否则出现如下错误

xxg@xxg-desktop:~/SDK-ar71xx-gcc-4.6-linaro_uClibc-0.9.33.2$ make

/bin/sh: /home/xxg/OpenWrt-SDK-ar71xx-for-linux-i486-gcc-4.6-linaro_uClibc-0.9.33.2/staging_dir/host/bin/find: not found

/bin/sh: /home/xxg/OpenWrt-SDK-ar71xx-for-linux-i486-gcc-4.6-linaro_uClibc-0.9.33.2/staging_dir/host/bin/find: not found 

 

三、OpenWrt下创建自己的软件包,又称在OpenWrt下做程序设计,或OpenWrt的嵌入式开发

 

1,了解Makefile

具体的Makefile细节规则参见一下几篇不错的文章:

openwrt SDK, 利用SDK生成自己的ipk安装包

http://blog.chinaunix.net/uid-27194309-id-3432651.html 

OpenWrt增加软件包方法 

http://blog.csdn.net/niyufeng/article/details/7390755

(原版:http://wiki.openwrt.org/doc/devel/packages)

[OpenWrt] 创建软件包  

http://blog.csdn.net/sydjm/article/details/8252336

openwrt下面创建/添加package----Makefile模版 

http://blog.csdn.net/hdw10/article/details/7939336

特别注意事项:

1项目的src里的Makefile源代码生成的目标程序名 = PackageName 根目录(src上层目录)下面的 Makefile 里面定义个PKG_NAME,不然各种奇葩的错误等着你,而且官网上没有文档说明这点。

2src下面的Makefile也是要注意和以前的在linux下的区分一下的

$(CC) 和 $(CXX) 是openwrt 的特定交叉编译器,在编译openwrt 时候创建的,在此直接使用即可。$(LDFLAGS) $(CFLAGS) 是用交叉编译器链接和编译文件时必须要加的标志。很多编译出错的原因都是处在此!!

参见:

   http://blog.csdn.net/han_dawei/article/details/7939336 文章末尾

   http://fleshandmachines.wordpress.com/2011/08/22/openwrt-cc-programing/  文章中的模版(注意CC++的区别)

3,这样的错误:

makefile tab Makefile:2: *** missing separator (did you mean TAB instead of 8 spaces?). Stop.

那是应为:

在每个命令前面要有一个tab字符。

但有些编辑器会自动将tab转为四个或八个空格。

如:

set tabstop=4 # 四个空格。

set shiftwidth=4 # 自动缩进的宽度。

check your editor!

参见:http://hi.baidu.com/xmuwubo/item/4f504d55dfaa28dbd48bacc3

  4,程序依赖的动态库PackageName/Makefile里的 DEPENDS 选项要写

   ,并且在PackageName/src/Makefile 里的编译选项后面也要写

  如:

define Package/PackageName

  ..............................................

  DEPENDS:=+libpcap +libopenssl

Endef

2,两个实例帮你了解OpenWrt平台下程序设计

  2.1 hellowrld C语言版

  2.2 hellowrld C++ 

  参见(老外做学问真的很认真)

       http://fleshandmachines.wordpress.com/2011/08/22/openwrt-cc-programing/(需翻墙)

       http://www.gargoyle-router.com/wiki/doku.php?id=openwrt_coding

注意:其中作者解决C++程序中使用STL库函数而我们的OpenWrt默认又不集成STL库的解决 办法,作者是按OpenWrt的两个版本( Kamikaze版和White Russia版,作者说他文章中的解决办法是针对White Russia版的可能对Kamikaze版没效果),说实话我百度了半天Kamikaze版和White Russia版的区别也没搞出个所以然:-(,我就知道我的0508固件。

    另外:我的是编译的时候就报错了:Package memwatch is missing dependencies for the following libraries: libstdc++.so.6 ,这时我们前面下载的:

OpenWrt-Toolchain-ramips-for-mipsel_r2-gcc-4.6-linaro_uClibc-0.9.33.2.tar.bz2

就用上了,解压之,然后

1,Copy"OpenWrt-Toolchain-ramipsXXX/usr/lib/libstdc++.so.6.0.16"

"OpenWrt-SDK-ramipsXXX/staging_dir/target-i386_uClibc-0.9.33.2/usr/lib"

2.cd OpenWrt-SDK-ramipsXXX/staging_dir/target-i386_uClibc-0.9.33.2/usr/lib

执行:

ln -s libstdc++.so.6.0.16 libstdc++.so.6" (注:后面的那个你想得到的)

也就是复制ToolChain里的库文件的SDK里,然后创建连接(兼容使用)

参考:https://forum.openwrt.org/viewtopic.php?id=42098  (末尾坛友的回复)

对于路由器运行环境那端:

去官网下载了个:libstdcpp_4.3.3+cs-43.32_ramips.ipk 装上就OK了,那么照作者的意思我的0508的固件就是基于Kamikaze版做的了(只是猜测),作者给的方法是在线安装,我想说呵呵,对于我这种苛刻的校园环境路由器直接联网不是那么容易的,所以下载,上传,安装 倒也来的方便。

官方下载地址:

http://downloads.openwrt.org.cn/OpenWrt-DreamBox/packages/ramips/packages/libstdcpp_4.3.3+cs-43.32_ramips.ipk

3,实战移植开源项目到OpenWrt平台,即把自己的符合C/C++标准规范的程序源码修改并在OpenWrt SDK下编译生成安装文件(ipk

移植开源项目h3cclientOpenWrt平台

1,前期准备:

      找到能在自己学校认证成功上网的开源client代码,具体的大家可以先装个linux系统测试下,如果能在linux下认证成功的话那么移植到OpenWrt也才就有了可能性。

2,代码OpenWrt规范化

     (前面说的Makefile说的已经很清楚了,这里再提一下)

OpenWrt要求源代码必须在PackageName/src目录下面,且PackageName下和src 目录下各有一个Makefile,要特别注意前面提到的src下面的Makefile里编译指令和通常写法的区别

3,我编译h3cclient遇到问题及解决办法

  1,看到源代码里用到了libpcap 那么本机编译环境自然也的装个吧,另外网上有人说它还用了libgcrypt,所以就一起安装下吧(注意是本机,电脑)

  sudo apt-get install libpcap-dev

  sudo apt-get install libgcrypt-dev

  2,上面说说的程序用了STL缺少库的解决办法(含本机和路由连个运行环境)

  3,还有一个就是,好像是什么程序使用了ccache编译时报了错误,google一通,这样解决的:

             apt-get install ccache

     

4,编译时:ERRORplease fix package/helloworld/Makefile

   解决办法:没什么说的,检查你的Makefile把骚年,参见我前面说的Makefile规范

5.复制网上的代码的时候注意检查Makefile 中的 Tab是否还在呢

6,想不起来了,记得当时遇到问题是挺多的

四,经验总结篇

     玩东西要有神挡杀神佛挡杀佛,兵来将挡水来土掩的勇气。遇到问题解决问题,google,baidu少不了,翻墙那是必然。

五、其它好的文章推荐:

如何在OpenWRT环境下做开发

http://hi.baidu.com/gouooo/item/6932bfa97d23d1981410736a

OpenWrt toolchain工具链环境及开发程序示例

http://blog.appdevp.com/archives/64

Ubuntu 12.04安装QQ2012

http://www.linuxidc.com/Linux/2012-05/59564.htm

openwrt下面创建/添加package----Makefile模版 

http://blog.csdn.net/hdw10/article/details/7939336


2015/10/7 补充 TTL刷机教程

http://www.right.com.cn/forum/thread-143721-1-1.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HG255D[OpenWrt]从入门到精通 的相关文章

  • 【Java 小白菜入门笔记 2.1】面向对象相关

    实验网址 xff1a https www shiyanlou com courses 1230 类 xff08 class xff09 作为面向对象的Java xff0c 一切皆对象 xff08 类的实例 xff09 用关键字class定义
  • 【Java 小白菜入门笔记 2.2】常用的类和方法

    Array Array 含有sort fill equals BinarySearch等方法 span class token keyword import span java span class token punctuation sp
  • 图像目标检测算法总结(从R-CNN到YOLO v3)

    xff08 首发于知乎 xff0c 链接 xff1a https zhuanlan zhihu com p 242424344 xff0c 欢迎关注 xff09 基于CNN 的目标检测是通过CNN 作为特征提取器 xff0c 并对得到的图像
  • 【tmp】python Queue和Thread结合使用

    Queue使用 xff1a https pymotw com 2 Queue https docs python org 2 library queue html Thread控制 xff1a http blog csdn net zhan
  • 算法工程师的自我修养(AlgorithmEngineerPrepares)

    算法工程师的自我修养 整理一份算法工程师的最小必需的知识框架 xff0c 内容包括 计算机视觉 机器学习基础 深度学习基础 数据处理分析 矩阵论 信息论 NLP基础 xff0c 持续更新中 xff0c 欢迎关注 地址 xff1a https
  • 从零开始实现一个简单的CycleGAN项目

    项目地址 xff1a https github com jzsherlock4869 cyclegan pytorch pytorch 中CycleGAN xff08 循环一致生成对抗网络 xff09 的简单且易于修改的实现 CycleGA
  • 【计算机视觉】一个简单易上手的图像分类任务pipeline代码

    整理了一个针对图像分类任务的pipeline xff0c 主要用于快速开始验证现有模型结果 xff0c 以及后续的自定义模型的开发 https github com jzsherlock4869 image classification p
  • MySQL存储数据加密

    加密方式主流的有两种 ENCODE 与 DECODE 建一张测试表 create table users username varchar 128 用户昵称 password blob 密码 engine 61 innodb default
  • 线程池BUG复现和解决

    逻辑很简单 xff0c 线程池执行了一个带结果的异步任务 但是最近有偶发的报错 xff1a java util concurrent RejectedExecutionException Task java util concurrent
  • 移动端开发——APP端上H5容器化建设

    1 背景 当前移动端和前端的结合愈加紧密 xff0c 尤其是在偏重活动运营的电商App中 xff0c 受制于App版本审核 xff0c 具备研发成本低 可灵活发布等特点的H5页面受到青睐 xff0c 使其在APP端上承接了越来越多的业务 然
  • C++时间与字符串转换

    1 常用的时间存储方式 1 xff09 time t类型 xff0c 这本质上是一个长整数 xff0c 表示从1970 01 01 00 00 00到目前计时时间的秒数 xff0c 如果需要更精确一点的 xff0c 可以使用timeval精
  • 解决linux环境下nohup: redirecting stderr to stdout问题

    在生产环境下启动Weblogic时 xff0c 发现原来好好的nohup信息输出到指定文件中的功能 xff0c 突然出问题了 现象是控制台输出的信息一部分输出到了我指定的文件 xff0c 另一部分却输出到了nohup out xff0c 而
  • [转]Redis作为消息队列与RabbitMQ的性能对比

    周末测试了一下RabbitMQ的性能 xff0c RabbitMQ是使用Erlang编写的一个开源的消息队列 xff0c 本身支持很多的协议 xff1a AMQP xff0c XMPP SMTP STOMP xff0c 也正是如此 xff0
  • Python3.7 实现TCP通信

    TCP 连接程序分为服务端和客户端两部分 服务端步骤如下 xff1a 1 创建套接字Socket 什么是套接字 应用层通过传输层进行数据通信时 xff0c TCP和UDP会遇到同时为多个应用程序进程提供并发服务的问题 为了区别不同的应用程序
  • CentOS、Ubuntu、Debian三个linux比较异同

    Linux有非常多的发行版本 xff0c 从性质上划分 xff0c 大体分为由商业公司维护的商业版本与由开源社区维护的免费发行版本 商业版本以Redhat为代表 xff0c 开源社区版本则以debian为代表 这些版本各有不同的特点 xff
  • LDAP 中 CN, OU, DC 的含义

    1 LDAP的存储规则 区分名 xff08 DN xff0c Distinguished Name xff09 和自然界中的树不同 xff0c 文件系统 LDAP 电话号码簿目录的每一片枝叶都至少有一个独一无二的属性 xff0c 这一属性可
  • bat修改hosts文件

    attrib R C WINDOWS system32 drivers etc hosts 64 echo 64 echo 127 0 0 1 aaaa bbb com gt gt C WINDOWS system32 drivers et
  • 使用org.apache.tools.zip实现zip压缩和解压

    import java io import org apache tools zip import java util Enumeration 功能 zip压缩 解压 支持中文文件名 说明 本程序通过使用Apache Ant里提供的zip工
  • freeModbus代码解读及移植笔记

    freeModbus的代码库还是很好用的 xff0c 本人在wince和C8051F410下均移植成功 xff08 只用到RTU模式 xff09 但freeModbus提供的文档比较少 xff0c 只能对照着Modbus协议一点点试着读懂源
  • MySQL变量:local_infile

    local infile服务器变量指示能否使用load data local infile命令 该变量默认为ON 该变量为OFF时 xff0c 禁用客户端的load data local infile命令 Sql代码 mysql gt sh

随机推荐

  • strcpy函数实现

    C语言标准库函数strcpy的一种典型的工业级的最简实现 返回值 xff1a 返回目标串的地址 对于出现异常的情况ANSI C99标准并未定义 xff0c 故由实现者决定返回值 xff0c 通常为NULL 参数 xff1a strDesti
  • C++库介绍

    1 C 43 43 标准库 xff08 STL xff09 STL六大组件 容器 算法 迭代器 仿函数 适配器 配接器 空间配置器 1 容器 各种数据结构 xff0c 如vector list deque set map等 xff0c 用来
  • 【C++】extern “C“ 用法详解

    前言 前面简单了解了C 43 43 中的extern 34 C 34 之后 xff0c 可能很多小伙伴对这个陌生的词非常困惑 xff0c 不能理解他的使用场景 所以本章内容就来详细了解extern 34 C 34 的用法 xff0c 这里使
  • FreeRTOS学习第三篇——FreeRTOS任务创建(下)

    声明 xff1a 本文为博主的学习篇章 xff0c 欢迎大家指错 xff0c 共同学习 在解决一下上篇遗留下来的问题之前 xff0c 还得提前做些功课 xff0c 了解一些FreeRTOS的全局变量 PRIVILEGED DATA stat
  • printf用法之打印二进制,八进制,十进制,十六进制

    printf用法之打印2进制 xff0c 八进制 xff0c 十进制 xff0c 十六进制 printf是格式化输出函数 xff0c 它可以直接打印十进制 xff0c 八进制 xff0c 十六进制 xff0c 输出控制符分别为 d o x
  • 【飞控开发基础教程7】疯壳·开源编队无人机-SPI(气压计数据获取)

    COCOFLY教程 疯壳 无人机 系列 SPI xff08 气压计数据获取 xff09 图1 一 SPL06 简介 SPL06 是歌尔公司最新推出新款气压传感器 xff0c 最新推出新款气压传感器SPL06 001 xff0c 歌尔是全球领
  • 【遥控器开发基础教程5】疯壳·开源编队无人机-SPI(2.4G 双机通信)

    COCOFLY教程 疯壳无人机 系列 SPI 2 4G 双机通信 图1 一 NRF24L01 1 1 NRF24L01 简介 NRF24L01 是由NORDIC 生产的工作在 2 4GHz 2 5GHz 的ISM 频段的单片无线收发器芯片
  • tcp之IO模型

    5种io模型 tcp服务器分为了5种io复用模型 分别是 阻塞io模型 非阻塞io模型 io复用 信号驱动io 异步io 本文会讲前面3种io模型的tcp服务器实现 本文只做tcp服务器实现 客户端逻辑处理 接收数据等缓冲区不做深入说明 简
  • C语言带参数的宏定义

    C语言允许宏带有参数 在宏定义中的参数称为 形式参数 xff0c 在宏调用中的参数称为 实际参数 xff0c 这点和函数有些类似 对带参数的宏 xff0c 在展开过程中不仅要进行字符串替换 xff0c 还要用实参去替换形参 带参宏定义的一般
  • Ubuntu U盘安装时安装时卡在Syslinux的问题

    用软碟通制作的U盘启动 xff0c ubuntu是11 10版本 xff0c 安装时显示 xff1a SYSLINUX 3 86 2010 04 01 EBIOS Copyright C 1994 2010 H Peter Anvin et
  • new 对象加括号和不加括号的区别

    原文 xff1a http www java123 net v 951963 html 在new对象的时候有加上 xff0c 有不加 xff0c 不知道这个到底是什么区别 xff1f 比如 xff1a CBase base 61 new C
  • cocos2d-x 3.x游戏开发学习笔记(1)--mac下配置cocos2d-x 3.x开发环境

    原文 xff1a http blog csdn net likendsl article details 34617725 打开用户目录下 bash profile文件 xff0c 配置环境 python view plain copy p
  • cocos2dx[3.2](15)——颜色混合BlendFunc

    原文 xff1a 点此 1 概念 混合 是指两种颜色的叠加方式 在新图片将要渲染画到屏幕上的时候 xff0c 将用在新图片中的红 绿 蓝和透明度信息 xff0c 与屏幕上已经存在的图片颜色信息相融合 说的具体一点 xff0c 就是把某一像素
  • 整理一些面试可能会遇到的算法题目

    将两个有序的单链表合并为一个有序的单链表 xff0c 默认是按升序排列的 两路归并排序 xff08 升序排列 xff09 平均 最差 时间复杂度O NlogN typedef struct Node t struct Node t next
  • IIS写权限的利用

    源地址 xff1a http netsecurity 51cto com art 200812 101015 htm IIS写权限对网站系统的安全是致命的 xff0c 拥有写权限可以直接往网站目录写文件 xff0c 在拥有写权限的服务器上
  • android studio 调用C++代码

    Android studio调用C 43 43 代码 JNI原理 JNI Java Native Interface 叫做JAVA本地接口 JAVA是一种跨平台的语言 xff0c 这种特性依赖的是Java虚拟机 xff0c 虚拟机由C C
  • 解决 VMware 虚拟机 中被提示 “请不要在虚拟机中运行此程序”或者“Themida Sorry, this application cannot run under a Virtual Mac

    解决 VMware 虚拟机 中被提示 请不要在虚拟机中运行此程序 或者 Themida Sorry this application cannot run under a Virtual Machine 设置 xff1a 1 用记事本打开
  • ASP一句话木马大全

    lt eval request 34 MH 34 gt lt execute request 34 MH 34 gt lt execute request 34 MH 34 gt lt If Request 34 MH 34 lt gt 3
  • 过TP保护与解除游戏驱动保护(可以借鉴)

    TP 是国内腾讯游戏一款比较流行的驱动级保护程序 负责保护腾讯每款游戏不被修改破坏 xff0c 也许大家也是研究腾讯游戏的爱好者 对腾讯的游戏都有过这样的体会 例如OD与CE无法进行如以下操作 xff1a 无法附加进程 无法打开进程 游戏进
  • HG255D[OpenWrt]从入门到精通

    本文针对华为HG255D xff0c 但同时具有一定的通用参考价值 一 刷机篇 要想放心大胆的玩学会刷机是少不了的 xff0c 经过我的反复多次的折腾总结了自己认为稳定而且简单的方法 xff0c 最终达到刷不死的境界 1 刷机和恢复教程 x