1.Windows Dokanç®ä»
2.linux本地clion调试TVM源码环境搭建
Windows Dokanç®ä»
Dokanå建ä¹åçç®çåFUSEï¼Filesystem in Userspaceï¼ä¸æ ·ï¼å³ä¸ºäºå®ç°ç¨æ·èªå·±çæ件系ç»ãå¼åè éè¿dokanå¼åæ件系ç»ï¼å®ç°çæ¯ä¸ä¸ªåºç¨ç¨åºèä¸æ¯å¤æçå æ ¸é©±å¨ãï¼Windowså æ ¸é©±å¨å¼åä¹ä¸è§å¾æ¯Linuxç®åãï¼Dokanå°±æ¯Windowsä¸çFUSEãèç®åDokanå·²ç»æ¯æFuseï¼æå³çLinux Fuseç¨åºä¹å¯ä»¥å®ç°åWindowså¹³å°çè¿ç§»ã
ç®åDokanå·²ç»è¢«æ¿æ¢æDokanyï¼èª0.6.0çæ¬ï¼ï¼å¹¿æ³æ¯æä½æä½XåARMæ¶æãæ¯æçWindowsçæ¬æ
- Windows Server // R2// R2 SP1
- Windows /8.1/8/7 SP1
ç®èè¨ä¹ï¼åFUSEå¦åºä¸è¾ã
Dokanåºå å«ç¨æ·æçå¨æé¾æ¥åºï¼dokan.dllï¼åå æ ¸æç驱å¨ç¨åºï¼dokan1.sysï¼ãï¼ å¯ä»¥ç±»æ¯FUSEæä¾ç¨æ·æçå¨æé¾æ¥åºlibfuse.soåå æ ¸æ驱å¨fuse.koãï¼ ä½¿ç¨dokanåºå建çæ件系ç»è§ä¸º æ件系ç»ç¨åº ã
æ件æä½æ¯å¦å建æ件CreateFileã读æ件ReadFileååæ件WriteFileç请æ±å°ä¼åéç»å æ ¸æåç³»ç»ï¼ç¶å转éç»é©±å¨ç¨åºã æ件系ç»ç¨åº éè¿ç¨æ·ææä¾çå½æ°æ¥å£ï¼å¨é©±å¨ç¨åºä¸æ³¨ååè°æ¥å£ã驱å¨ç¨åºå°ä¿¡æ¯åä¼è°ç¨è¿äºåè°å½æ°ï¼æåè¿äºè¯·æ±å¨ç¨æ·æçæ件系ç»ç¨åºä¸è¢«å¤çãDokanæ®æ¼çæ¯åºç¨ç¨åºå æ件系ç»ç¨åº ç´æ¥ç代çè§è²ã
第ä¸æ¥å®ç°DOKAN_OPERATIONSç»æä½éçå½æ°ãè¿äºå½æ°ä¼è¢«æ³¨åæåè°å½æ°ãDOKAN_OPERATIONSä¼å¨ä¸»å½æ°DokanMainä¸ä½ä¸ºåæ°ä¼ é使ç¨ã
ä¸è¬æä½æ件ç顺åºæ¯
- DOKAN_OPERATIONS::ZwCreateFile
- å ¶ä»æä½ï¼æ¯å¦åã读ç
- DOKAN_OPERATIONS::CleanUp
- DOKAN_OPERATIONS::CloseFile
å³å建ãå®é æä½ãæ¸ çåå ³éãæ¸ ç主è¦æ¯æ¸ ç请æ±åå ³éæ件å¥æï¼èå ³éæ¯æ¸ çå°åçä¸ä¸æç»æã
æ¯ä¸ªæä½æåè¿åSTATUS_SUCCESSï¼å¦æ失败åè¿åä¸åçé误ç¶æNTSTATUSãå¦å¤ï¼æ¯ä¸ä¸ªDokanæä½é½è¦å¸¦ä¸ä¸ªç»æä½DOKAN_FILE_INFOãæ¯ä¸ªæ件å¥æä¼å ³è该ç»æã该ç»æç主è¦ç®çæ¯ä¿åå½åæä½çæ件信æ¯ï¼æ¯å¦ä¸ä¸ææä½ä¿¡æ¯ãæ¯å¦ä¸ºç®å½ç±»åãæ¯å¦è¯»ç¼åãåæ¥æä½çå®ä¹æä½è¡ä¸ºçä¿¡æ¯ãå ·ä½è¯¦è§éå½ä¸å°åã
å®ç°äº 线ç¨å®å ¨ çæ件系ç»æä½ï¼è°ç¨DokanMainå½æ°å³å¯æè½½æ件系ç»å°Windowsä¸ï¼è¯¥å½æ°ä¼å¨å¸è½½ä¹åä¿æé»å¡ç¶æã
æºç å éé¢æä¾äºMirrorï¼å¯ä»¥ä½ä¸ºæ¡ä¾å ¥é¨Dokançå¼åã
Dokan Fuseå¨ä½¿ç¨æ¶éè¦é¾æ¥ dokanfuse.dll çå¨æåºã å¦å¤ç±äºLinuxåWindowså¨å¤çå é¤åéå½åä¸çä¸åä¼å¯¼è´ä¸äºç§»æ¤åºç°é®é¢ ï¼Linuxå 许æå¼çæ件被å é¤ï¼èWindowsåä¸å 许ï¼ã
项ç®å°åï¼/dokan-dev/dokany
ç»æä½DOKAN_FILE_INFOæè¿°ï¼mand line option ‘-fuse-ld=lld”,检查并升级gcc版本以解决此问题。
仅需编译TVM代码即可开始调试工作,无需额外编译其他组件。趋势绝杀公式源码
准备Python代码执行环境,调整环境变量,公众号点歌源码确保PYTHONPATH指向TVM源码中的Python包路径,同时设置LD_LIBRARY_PATH指向动态库生成路径。
尝试运行自编写的Python脚本,验证环境配置是否正确。
为了调试C++源码,创建一个CMake应用,例如命名为cppEntrance,源码彩票搭建教程配置程序参数为待调试的Python脚本路径,并在环境变量中保持与Python脚本相同的设置。
找到对应Python接口的源码和移码真值C++代码入口,设置断点,启动cppEntrance调试,即可进入TVM的cbt挖矿源码C++代码调试。
对于查找TVM接口对应的C++代码入口,除全局搜索外,可能存在其他方法或工具。欢迎在评论区分享您的经验或建议。