Older Blog’s Index - 姜江

转自:http://www.jjos.org/older-blogs-index


如需转载,请注明出处!
WebSite: http://www.jjos.org/
作者: 姜江 linuxemacs@gmail.com
QQ: 457283


Android

Android平台上GDB for MIPS芯片的构建
http://blog.youkuaiyun.com/jznsmail/archive/2010/04/14/5484215.aspx 

Gears框架分析
http://blog.youkuaiyun.com/jznsmail/archive/2009/07/29/4390802.aspx 

The class hierarchy of Gears
http://blog.youkuaiyun.com/jznsmail/archive/2009/07/27/4383760.aspx 

[Note] Install Android on VirtualBox
http://blog.youkuaiyun.com/jznsmail/archive/2009/05/17/4195271.aspx 

Assembler

Intel Assemble Instruction Set
http://blog.youkuaiyun.com/jznsmail/archive/2005/03/14/319073.aspx 

怎样优化Pentium系列处理器的代码
http://blog.youkuaiyun.com/jznsmail/archive/2004/12/03/203929.aspx 

ATL

ATL布幔下的秘密之底层技术和汇编
http://blog.youkuaiyun.com/jznsmail/archive/2005/02/18/292983.aspx 

ATL布幔下的秘密之虚函数背后的东西
http://blog.youkuaiyun.com/jznsmail/archive/2005/02/18/292981.aspx 

ATL布幔下的秘密之模板技术
http://blog.youkuaiyun.com/jznsmail/archive/2005/02/18/292979.aspx 

ATL布幔下的秘密之窗口类的秘密
http://blog.youkuaiyun.com/jznsmail/archive/2005/02/18/292976.aspx 

ATL布幔下的秘密之内部工作方式
http://blog.youkuaiyun.com/jznsmail/archive/2005/02/18/292974.aspx 

ATL接口映射宏详解
http://blog.youkuaiyun.com/jznsmail/archive/2005/02/18/292957.aspx 

在ATL中实现窗口
http://blog.youkuaiyun.com/jznsmail/archive/2005/02/18/292953.aspx 

ATL 3.0 Window Classes: An Introduction
http://blog.youkuaiyun.com/jznsmail/archive/2005/02/16/288979.aspx 

ATL Under the Hood – Part 1(翻译)
http://blog.youkuaiyun.com/jznsmail/archive/2004/12/08/209496.aspx 

Browser&WebKit

Introduction to WebVM
http://blog.youkuaiyun.com/jznsmail/archive/2009/07/08/4332569.aspx 

The definition of JIL Widget manager database table
http://blog.youkuaiyun.com/jznsmail/archive/2009/07/08/4332568.aspx 

Hacking In Palm Pre – Part III
http://blog.youkuaiyun.com/jznsmail/archive/2009/07/08/4332561.aspx 

Hacking In Palm Pre – Part II
http://blog.youkuaiyun.com/jznsmail/archive/2009/07/08/4332559.aspx 

Hacking In Palm Pre – Part I
http://blog.youkuaiyun.com/jznsmail/archive/2009/07/08/4332551.aspx 

C/C++

关于C++类的问题总结(一)
http://blog.youkuaiyun.com/jznsmail/archive/2004/12/11/213220.aspx 

关于C++中的虚函数
http://blog.youkuaiyun.com/jznsmail/archive/2004/12/01/200471.aspx 

Emacs

2007-02-18 Emacs学习笔记
http://blog.youkuaiyun.com/jznsmail/archive/2007/02/18/1511692.aspx 

Java

A Glance At Garbage Collection In Object-Oriented Languages
http://blog.youkuaiyun.com/jznsmail/archive/2007/05/18/1614467.aspx 

基于Windows Mobile/CE平台上Java虚拟机与本地拨号程序状态转换图
http://blog.youkuaiyun.com/jznsmail/archive/2007/05/11/1605038.aspx 

有关JAVA虚拟机本地异常机制的思考
http://blog.youkuaiyun.com/jznsmail/archive/2006/09/13/1215361.aspx 

Linux

初窥GPFS文件系统
http://blog.youkuaiyun.com/jznsmail/archive/2010/04/19/5502840.aspx 

Please help to Unix-Center
http://blog.youkuaiyun.com/jznsmail/archive/2009/07/14/4347217.aspx 

Debian 维护工具之 Dpkg
http://blog.youkuaiyun.com/jznsmail/archive/2007/09/18/1790490.aspx 

Introduction to Linux Device Driver Programming
http://blog.youkuaiyun.com/jznsmail/archive/2007/09/17/1788436.aspx 

Interrupt Handling Internals in Linux Kernel
http://blog.youkuaiyun.com/jznsmail/archive/2007/09/17/1788433.aspx 

Git 中文教程
http://blog.youkuaiyun.com/jznsmail/archive/2007/09/17/1788381.aspx 

Git User’s Manual (for version 1.5.3 or newer)
http://blog.youkuaiyun.com/jznsmail/archive/2007/09/17/1788311.aspx 

A tutorial introduction to git (for version 1.5.1 or newer)
http://blog.youkuaiyun.com/jznsmail/archive/2007/09/17/1788302.aspx 

Kernel Hackers’ Guide to git
http://blog.youkuaiyun.com/jznsmail/archive/2007/09/17/1788279.aspx 

Ubuntu下安装 GetDeb 网站的软件
http://blog.youkuaiyun.com/jznsmail/archive/2007/09/17/1788276.aspx 

分析Windows和Linux动态库
http://blog.youkuaiyun.com/jznsmail/archive/2007/08/26/1759620.aspx 

Linux下的串口通信学习笔记
http://blog.youkuaiyun.com/jznsmail/archive/2006/03/15/625382.aspx 

Linux0.11内核读书笔记/boot/bootsect.s
http://blog.youkuaiyun.com/jznsmail/archive/2005/10/15/504509.aspx 

Linux 下串口编程入门
http://blog.youkuaiyun.com/jznsmail/archive/2005/08/08/448270.aspx 

POSIX操作系统的串行编程指南
http://blog.youkuaiyun.com/jznsmail/archive/2005/08/08/448263.aspx 

Mac OS X

[Tips] Mac OS下快速重启、注销、睡眠
http://blog.youkuaiyun.com/jznsmail/archive/2010/04/25/5527006.aspx 

解决TextMate中文显示的问题
http://blog.youkuaiyun.com/jznsmail/archive/2010/04/24/5524843.aspx 

AWK Plugin For BBEdit
http://blog.youkuaiyun.com/jznsmail/archive/2010/04/23/5518158.aspx 

ZFS for Mac OS
http://blog.youkuaiyun.com/jznsmail/archive/2010/04/19/5500669.aspx 

Gets the XNU source code
http://blog.youkuaiyun.com/jznsmail/archive/2010/04/14/5486101.aspx 

Operating System

有关YuanOS‘晕’操作系统的分析
http://blog.youkuaiyun.com/jznsmail/archive/2010/04/19/5504689.aspx 

Gets the XNU source code
http://blog.youkuaiyun.com/jznsmail/archive/2010/04/14/5486101.aspx 

PE文件结构学习笔记
http://blog.youkuaiyun.com/jznsmail/archive/2005/02/19/293358.aspx 

Windows系统的内存管理
http://blog.youkuaiyun.com/jznsmail/archive/2004/11/27/195925.aspx 

Windows

PE文件结构学习笔记
http://blog.youkuaiyun.com/jznsmail/archive/2005/02/19/293358.aspx 

如何获得系统进程信息
http://blog.youkuaiyun.com/jznsmail/archive/2004/11/27/195939.aspx 

Window 消息大全使用详解
http://blog.youkuaiyun.com/jznsmail/archive/2004/11/27/195933.aspx 

WTL

MFC程序员的WTL指南之对话框与控件
http://blog.youkuaiyun.com/jznsmail/archive/2005/02/18/292971.aspx 

MFC程序员的WTL指南之工具条与状态条
http://blog.youkuaiyun.com/jznsmail/archive/2005/02/18/292968.aspx 

MFC程序员的WTL指南之WTL 界面基类
http://blog.youkuaiyun.com/jznsmail/archive/2005/02/18/292966.aspx 

MFC程序员的WTL开发指南之ATL界面类
http://blog.youkuaiyun.com/jznsmail/archive/2005/02/18/292962.aspx 

WTL源码剖析 — ATLAPP.H
http://blog.youkuaiyun.com/jznsmail/archive/2004/12/02/201806.aspx 

WTL体系结构
http://blog.youkuaiyun.com/jznsmail/archive/2004/12/01/200954.aspx 

WTL流程分析
http://blog.youkuaiyun.com/jznsmail/archive/2004/12/01/200947.aspx 

WTL编程的十个技巧
http://blog.youkuaiyun.com/jznsmail/archive/2004/12/01/200944.aspx 

深入剖析WTL—WTL框架窗口分析(6)
http://blog.youkuaiyun.com/jznsmail/archive/2004/12/01/200942.aspx 

深入剖析WTL—WTL框架窗口分析(5)
http://blog.youkuaiyun.com/jznsmail/archive/2004/12/01/200941.aspx 

深入剖析WTL—WTL框架窗口分析(4)
http://blog.youkuaiyun.com/jznsmail/archive/2004/12/01/200939.aspx 

深入剖析WTL—WTL框架窗口分析(3)
http://blog.youkuaiyun.com/jznsmail/archive/2004/12/01/200938.aspx 

深入剖析WTL—WTL框架窗口分析(2)
http://blog.youkuaiyun.com/jznsmail/archive/2004/12/01/200937.aspx 

深入剖析WTL—WTL框架窗口分析(1)
http://blog.youkuaiyun.com/jznsmail/archive/2004/12/01/200936.aspx 

深入剖析WTL——如何封装Windows界面程序
http://blog.youkuaiyun.com/jznsmail/archive/2004/12/01/200933.aspx 

嵌入式系统

Android平台上GDB for MIPS芯片的构建
http://blog.youkuaiyun.com/jznsmail/archive/2010/04/14/5484215.aspx 

基于S3C44B0微处理器的uClinux内核引导剖析
http://blog.youkuaiyun.com/jznsmail/archive/2006/05/24/752186.aspx 

uClinux移植概述
http://blog.youkuaiyun.com/jznsmail/archive/2006/04/16/665304.aspx 

SkyEye Installation Notes
http://blog.youkuaiyun.com/jznsmail/archive/2006/04/14/664006.aspx 

Skyeye笔记
http://blog.youkuaiyun.com/jznsmail/archive/2006/04/08/654972.aspx 

软件构架

有关YuanOS‘晕’操作系统的分析
http://blog.youkuaiyun.com/jznsmail/archive/2010/04/19/5504689.aspx 

初窥GPFS文件系统
http://blog.youkuaiyun.com/jznsmail/archive/2010/04/19/5502840.aspx 

代码分析方法
http://blog.youkuaiyun.com/jznsmail/archive/2009/11/12/4804382.aspx 

网络安全

Smashing The Stack For Fun And Profit
http://blog.youkuaiyun.com/jznsmail/archive/2004/12/09/210241.aspx 

代码转载自:https://pan.quark.cn/s/a4b39357ea24 本文重点阐述了利用 LabVIEW 软件构建的锁相放大器的设计方案及其具体实施流程,并探讨了该设备在声波相位差定位系统中的实际运用情况。 锁相放大器作为一项基础测量技术,其核心功能在于能够精确锁定微弱信号的频率参数并完成相关测量工作。 在采用 LabVIEW 软件开发的锁相放大器系统中,通过计算测量信号与两条参考信号之间的互相关函数,实现对微弱信号的频率锁定,同时输出被测信号的幅值信息。 虚拟仪器技术是一种基于计算机硬件平台的仪器系统,其显著特征在于用户可以根据实际需求自主设计仪器功能,配备虚拟化操作界面,并将测试功能完全由专用软件程序实现。 虚拟仪器系统的基本架构主要由计算机主机、专用软件程序以及硬件接口模块等核心部件构成。 虚拟仪器最突出的优势在于其功能完全取决于软件编程,用户可以根据具体应用场景灵活调整系统功能参数。 在基于 LabVIEW 软件开发的锁相放大器系统中,主要运用 LabVIEW 软件平台完成锁相放大器功能的整体设计。 LabVIEW 作为一个图形化编程环境,能够高效地完成虚拟仪器的开发工作。 借助 LabVIEW 软件,可以快速构建锁相放大器的用户操作界面,并且可以根据实际需求进行灵活调整和功能扩展。 锁相放大器系统的关键构成要素包括测量信号输入通道、参考信号输入通道、频率锁定处理单元以及信号幅值输出单元。 测量信号是系统需要检测的对象,参考信号则用于引导系统完成对测量信号的频率锁定。 频率锁定处理单元负责实现测量信号的锁定功能,信号幅值输出单元则负责输出被测信号的幅值大小。 在锁相放大器的实际实现过程中,系统采用了双路参考信号输入方案来锁定测量信号。 通过分析两路参考信号之间的相...
边缘计算环境中基于启发式算法的深度神经网络卸载策略(Matlab代码实现)内容概要:本文介绍了在边缘计算环境中,利用启发式算法实现深度神经网络任务卸载的策略,并提供了相应的Matlab代码实现。文章重点探讨了如何通过合理的任务划分与调度,将深度神经网络的计算任务高效地卸载到边缘服务器,从而降低终端设备的计算负担、减少延迟并提高整体系统效率。文中涵盖了问题建模、启发式算法设计(如贪心策略、遗传算法、粒子群优化等可能的候选方法)、性能评估指标(如能耗、延迟、资源利用率)以及仿真实验结果分析等内容,旨在为边缘智能计算中的模型推理优化提供可行的技术路径。; 适合人群:具备一定编程基础,熟悉Matlab工具,从事边缘计算、人工智能、物联网或智能系统优化方向的研究生、科研人员及工程技术人员。; 使用场景及目标:①研究深度神经网络在资源受限设备上的部署与优化;②探索边缘计算环境下的任务卸载机制与算法设计;③通过Matlab仿真验证不同启发式算法在实际场景中的性能表现,优化系统延迟与能耗。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,重点关注算法实现细节与仿真参数设置,同时可尝试复现并对比不同启发式算法的效果,以深入理解边缘计算中DNN卸载的核心挑战与解决方案。
<think> 我们正在处理一个关于CMake弃用警告的问题。警告信息指出:未来版本的CMake将移除对低于3.5版本的兼容性,需要更新`cmake_minimum_required`命令中的`VERSION`参数。 根据引用[2]和引用[3]中的信息,解决方法是修改CMakeLists.txt文件中的`cmake_minimum_required`行。 具体来说,警告信息是: CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 3.5 will be removed from a future version of CMake. Update the VERSION argument <min> value or use a ...<max> suffix to tell CMake that the project does not need compatibility with older versions. 解决方案有两种: 1. 将最小版本要求提高到至少3.5,例如:`cmake_minimum_required(VERSION 3.5)` 2. 使用范围语法,指定一个最大版本(可选),例如:`cmake_minimum_required(VERSION 3.5...<max_version>)`,其中<max_version>可以是当前CMake版本或更高版本(但通常我们只指定最小版本即可) 另外,引用[3]中提到,如果系统自带的cmake版本太低,可能需要升级cmake。但首先我们应该尝试修改CMakeLists.txt文件。 因此,解决步骤为: 步骤1:打开CMakeLists.txt文件,定位到第1行(或警告中指定的行号)。 步骤2:修改`cmake_minimum_required`命令,将版本至少设置为3.5。 示例: 原命令可能是:`cmake_minimum_required(VERSION 2.8.12)` 修改为:`cmake_minimum_required(VERSION 3.5)` 或者使用范围语法(如果不确定最高版本,可以省略最大版本): `cmake_minimum_required(VERSION 3.5...3.20)` # 假设当前使用的CMake版本是3.20,或者可以省略最大版本 `cmake_minimum_required(VERSION 3.5...)` # 表示要求至少3.5,且兼容当前及更高版本(推荐) 步骤3:保存文件,重新运行CMake。 注意:如果项目中其他CMakeLists.txt文件也有类似命令,也需要修改。 如果修改后仍然需要支持较低版本的CMake(比如项目需要在旧系统上编译),那么就需要权衡:要么升级系统CMake,要么保持低版本但接受警告(但警告明确说明未来会移除兼容,所以最好升级)。 如果系统CMake版本低于3.5,那么即使修改了文件中的版本要求,也无法运行。此时需要按照引用[3]中的步骤升级CMake。 升级CMake的方法(以Ubuntu为例): 1. 卸载旧版:`sudo apt remove cmake cmake-data` 2. 从CMake官网下载新版(如3.13.3)的二进制发行版(.sh文件) 3. 将.sh文件放在/opt目录下,运行安装脚本:`sudo ./cmake-3.13.3-Linux-x86_64.sh` 4. 创建符号链接:`sudo ln -s /opt/cmake-3.13.3-Linux-x86_64/bin/* /usr/local/bin` 5. 设置环境变量:在~/.bashrc中添加`export CMAKE_ROOT="/opt/cmake-3.13.3-Linux-x86_64/share/cmake-3.13"` 6. 重新登录,验证:`cmake --version` 但是,如果项目要求的最低版本低于3.5,而你又不想升级CMake,那么可以使用范围语法指定一个兼容的版本范围(但警告就是告诉你未来不支持低于3.5的版本,所以最好升级项目要求)。 总结:最直接的方法是将CMakeLists.txt中的`cmake_minimum_required`版本提升到3.5或更高。 下面我们按照要求组织回答。 </think> ### 解决CMake弃用警告:兼容性版本过低问题 #### 📌 问题分析 CMake在`CMakeLists.txt`第1行提示警告: ```cmake CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 3.5 will be removed from a future version of CMake. Update the VERSION argument <min> value or use a ...<max> suffix to tell CMake that the project does not need compatibility with older versions. ``` 此警告表明: 1. 项目当前设置的CMake最低兼容版本低于3.5 2. 未来CMake版本将不再支持旧版语法 3. 需修改`cmake_minimum_required`声明[^2][^3] #### 🔧 解决方案 ##### 方法1:修改CMakeLists.txt(推荐) 1. **定位声明行** 打开`CMakeLists.txt`找到第1行的`cmake_minimum_required` 2. **更新版本号** 将版本下限提高到至少 **3.5**: ```cmake # 原始可能为 VERSION 2.8.12 或更低 cmake_minimum_required(VERSION 3.5) # 最小兼容版本设为3.5 ``` 3. **或使用范围语法**(明确兼容性边界): ```cmake cmake_minimum_required(VERSION 3.5...3.28) # 兼容3.5至3.28版本 ``` ##### 方法2:升级CMake(当系统版本过低时) 若系统CMake版本低于3.5,需升级(以Ubuntu为例): ```bash # 卸载旧版 sudo apt remove cmake cmake-data # 下载新版(示例3.13.3,可替换为更高版本) wget https://cmake.org/files/v3.13/cmake-3.13.3-Linux-x86_64.sh sudo mv cmake-3.13.3-Linux-x86_64.sh /opt/ # 安装 cd /opt sudo sh cmake-3.13.3-Linux-x86_64.sh # 按提示输入y确认 # 创建符号链接 sudo ln -s /opt/cmake-3.13.3-Linux-x86_64/bin/* /usr/local/bin # 验证安装 cmake --version # 应显示3.13.x或更高 ``` #### ⚠️ 注意事项 1. 修改后重新生成构建文件: ```bash rm -rf build/ && mkdir build && cd build cmake .. # 重新生成 ``` 2. 若项目中存在多个`CMakeLists.txt`,需统一修改所有文件中的版本声明 3. 升级CMake后可能需重装依赖(如ROS)[^3] #### 🌰 示例修正对比 | 修正前 | 修正后 | |--------|--------| | `cmake_minimum_required(VERSION 2.8)` | `cmake_minimum_required(VERSION 3.5)` | | `cmake_minimum_required(VERSION 3.0)` | `cmake_minimum_required(VERSION 3.5...3.20)` | > 💡 **原理**:新版CMake通过语义版本控制(Semantic Versioning)确保兼容性,`...<max>`后缀显式声明兼容范围,避免未来版本破坏性变更[^2]。 --- ### 🔍 相关问题 1. 如何检查系统中所有CMakeLists.txt文件的兼容性声明? 2. CMake版本升级后出现`find_package()`错误应如何解决?[^4] 3. 在Windows系统中如何安全升级CMake? 4. CMake的语义版本控制(SemVer)具体遵循哪些规则?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值