<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Maplef&apos;s Blog</title><description>Written with ♥</description><link>https://www.maplef.top/</link><language>zh_CN</language><item><title>启蒙海南：新人绿军的首次远征</title><link>https://www.maplef.top/posts/ingress-hainan/</link><guid isPermaLink="true">https://www.maplef.top/posts/ingress-hainan/</guid><description>Ingress 新人远征海南战报</description><pubDate>Thu, 01 May 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;本次战报是新人绿军 Maplefsnow（小枫，笔者） 至海南游玩时进行 ingress 行动的全记录，目的是将整个海南岛盖住并基本铺满，并沿途游玩主要城市和风景区。本次行程从4月27日至5月2日，经过海口、文昌、东方、三亚四地，基本触及了海南岛东南西北四极。&lt;/p&gt;
&lt;h2&gt;前情提要&lt;/h2&gt;
&lt;p&gt;Tarcadia（可儿） 于四月中规划了前往海南的旅程，笔者闻之，欣然同行。言语间，CuteAnemone（雨萌）提出在海南整个大活的想法，笔者遂打开 IITC 查询海南具体连线情况。查询后笔者惊喜地发现，海南不仅绿军居多、地广 po 稀，并且已经现有一条从北部海口贯穿至南部三亚的连线，无论是作为遮挡还是作为边界都非常适合。于是笔者进行了初步的规划，希望基于此连线延伸左半边和右半边，覆盖整个海南岛。&lt;/p&gt;
&lt;h2&gt;行程规划&lt;/h2&gt;
&lt;p&gt;根据 Tarcadia 购买的飞机票和预定的酒店时间，我们的行程如下&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;day1: 落地海口美兰国际机场，拿到重要 portal 【海南航空】尽可能多的 key，晚上住宿海口。&lt;/li&gt;
&lt;li&gt;day2: 向东自驾至文昌火箭发射中心附近的酒店，拿到 portal 【天海山大石头】尽可能多的key，并连接至【海南航空】，作为基线。&lt;/li&gt;
&lt;li&gt;day3: 凌晨观看火箭发射，白天休整、采购长途自驾物资，为次日的长途出行做准备。&lt;/li&gt;
&lt;li&gt;day4: 由文昌向西，逆时针环海南岛至东方市，获取【海南铁路博物馆】的 key 并连接【海南航空】。再继续行进至三亚，连接【金鸡岭路社区户外活动中心】，和现有连线形成 field，覆盖海南岛西半边大部分区域。最后在三亚市内选择合适的 portal，连接【海南航空】和【天海山大石头】形成 field，并尽量做多重。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;至此如果一切顺利，覆盖海南岛的计划将会最早于4月30日在三亚成功完成，刚好避开劳动节可能涌入的旅游人潮。&lt;/p&gt;
&lt;p&gt;&amp;lt;p align=&quot;center&quot;&amp;gt;
&amp;lt;img src=&quot;https://webp.maplef.top/2025/10/b9a3d44d2f1d854d7a350477a1d8feb7.jpg&quot; width=&quot;300&quot;/&amp;gt;
&amp;lt;center&amp;gt;临行前所做的计划图&amp;lt;/center&amp;gt;
&amp;lt;/p&amp;gt;&lt;/p&gt;
&lt;h2&gt;战况实记&lt;/h2&gt;
&lt;h3&gt;4月27日 - 上海至海口&lt;/h3&gt;
&lt;p&gt;笔者的航班在4月27日中午由上海虹桥落地海口美兰国际机场，落地取回托运行李后，可儿和笔者至航站楼租车点领取此行的自驾车辆。同时，笔者与【海南航空】的占领者 SpaceLion744 取得了联系，SpaceLion 表示很乐意为我们提供帮助，并向我们建议了更优的方案。此后我们立刻驱车前往海口市政务服务中心与 SpaceLion 碰头，成功对接后 SpaceLion 为我们提供了重要 portal【海南航空】和【环形座椅】的 key，并建议我们使用【环形座椅】作为东半部分的基点，还说可以帮助我们毒掉【环形座椅】周围可能存在的绿 link 遮挡。&lt;/p&gt;
&lt;p&gt;谢过 SpaceLion 大佬后，大佬打的车就到了，于是匆匆告别，可儿准备的 biocard 也未来得及发出去。后来，SpaceLion 还给我们介绍了一位三亚的绿军伙伴 acaspirin 作为照应，又增加了我们的力量和信心。SpaceLion 大佬为我们提供的物资帮助我们理清了接下来计划的思路，给我们提供了非常重要的帮助和支持。&lt;/p&gt;
&lt;p&gt;&amp;lt;p align=&quot;center&quot;&amp;gt;
&amp;lt;img src=&quot;https://webp.maplef.top/2025/10/3543cf25b3014e1025bdb5a1c6f535c5.jpg&quot; width=&quot;300&quot;/&amp;gt;
&amp;lt;center&amp;gt;和 SpaceLion744 大佬的聊天&amp;lt;/center&amp;gt;
&amp;lt;/p&amp;gt;&lt;/p&gt;
&lt;p&gt;晚上，我们出门 c po，一路逛到了世纪大桥下，一人一个椰子捧在手里美美地嘬。新鲜的椰子清甜，带有青草的香气和椰子独有的味道，比超市里卖的椰子水不知道好喝多少倍。晚上回到旅馆，一边吃着椰奶清补凉一边打开 IITC 规划接下来的作战计划，在困倦的睡意中期望接下来的旅途一切顺利。&lt;/p&gt;
&lt;p&gt;&amp;lt;p align=&quot;center&quot;&amp;gt;
&amp;lt;img src=&quot;https://webp.maplef.top/2025/10/e147b719f3954ea4607389a2cba123dc.jpg&quot; width=&quot;300&quot;/&amp;gt;
&amp;lt;center&amp;gt;coconut!&amp;lt;/center&amp;gt;
&amp;lt;/p&amp;gt;&lt;/p&gt;
&lt;h3&gt;4月28日 - 海口至文昌&lt;/h3&gt;
&lt;p&gt;按照原定计划，我们将在4月28日驱车从海口沿环海南高速公路向东抵达文昌火箭发射中心附近。一来我们原有的行程中就包含4月29日凌晨的火箭升空观礼，二来文昌火箭发射中心几乎就处于海南岛的最东端，非常适合作为东半边 field 的基线。&lt;/p&gt;
&lt;p&gt;晚春初夏，海岛的天气汹涌多变。在路上走着走着，海南岛的海就会从天上掉下来，把正在逛骑楼老街的我们砸了个劈头盖脸。我们打车湿漉漉地回到了车里，又湿漉漉地涉过路面的海，找了一家商场吃饭，心情也湿漉漉地像要拧出水来。今早打开 IITC 重新审视了我们的计划后发现，在距离三亚不远的保亭县有红军 link 和从【海南航空】出发的绿军 link 阻挡了我们南北的连线，这使我们有些沮丧，可能需要额外的力气去保亭清理障碍。&lt;/p&gt;
&lt;p&gt;&amp;lt;table&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;img src=&quot;https://webp.maplef.top/2025/10/cf2ec530fa248d36259c19725d111bfc.jpg&quot;&amp;gt;&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;img src=&quot;https://webp.maplef.top/2025/10/483dcbaf14f22c6e37e0d664e0cbb963.jpg&quot;&amp;gt;&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;从天上掉下来的海&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;保亭县存在的阻挡&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/table&amp;gt;&lt;/p&gt;
&lt;p&gt;好在，笔者联系了 acaspirin 后，大佬表示可以帮助解决保亭连线的问题。我们非常开心，于是和 acaspirin 交流了可能存在遮挡的位置，大佬非常乐意提供帮助，并表示没有问题。&lt;/p&gt;
&lt;p&gt;&amp;lt;p align=&quot;center&quot;&amp;gt;
&amp;lt;img src=&quot;https://webp.maplef.top/2025/10/d3d816a156657dd2d0edd9831f696b86.jpg&quot; width=&quot;300&quot;/&amp;gt;
&amp;lt;center&amp;gt;请求 acaspirin 大佬帮助&amp;lt;/center&amp;gt;
&amp;lt;/p&amp;gt;&lt;/p&gt;
&lt;p&gt;下午，暴雨稍停之后，我们便驱车前往文昌。路上经过了海南大学，可儿送出了部分 biocard，笔者一路昏昏沉沉眼皮打架，最终在傍晚抵达了文昌鲁能希尔顿酒店——一个被火箭发射场养活的酒店。此时天已经基本放晴，窗外望去是灰蓝色的海和茂密的椰子林，在床上躺着欣赏，心情甚是愉快。此时我面朝大海，春暖未见花开，今夜我不关心全人类，我只在乎长征五号。&lt;/p&gt;
&lt;h3&gt;4月29日凌晨 - 文昌&lt;/h3&gt;
&lt;p&gt;火箭发射的预计时间是凌晨四点。凌晨两点，我们就起身准备前往淇水湾观礼。海南岛的夜晚湿热，海风夹杂着水汽迎面而来，人的身上就落一层汗，黏腻地别扭。淇水湾附近就是此行我们的第二个重要节点【天海山大石头】，笔者插好了脚，心情忐忑地按下了 &quot;link&quot; 按钮。尽管事先准备充分，尽管一切看起来都没有问题，在面对这样长一条 link 的时候，笔者也难免心里发怵，毕竟这是笔者入游以来连过的最长的东西。&lt;/p&gt;
&lt;p&gt;事情像预想的那样发生了，63km，从【环形座椅】到【天海山大石头】，基线已经成型。笔者很激动，因为这意味着第一次成功，我们已经走出了第一步。&lt;/p&gt;
&lt;p&gt;&amp;lt;p align=&quot;center&quot;&amp;gt;
&amp;lt;img src=&quot;https://webp.maplef.top/2025/10/bd019a81b1891916a25ebac87dbc7365.jpg&quot; width=&quot;300&quot;/&amp;gt;
&amp;lt;center&amp;gt;从【环形座椅】到【天海山大石头】的示意（原图丢失）&amp;lt;/center&amp;gt;
&amp;lt;/p&amp;gt;&lt;/p&gt;
&lt;p&gt;等待发射的过程是枯燥而无聊的，海面上大雾重重，我们甚至不知道火箭会从哪里升起，但是当半边天空被火光点亮的时候，一切等待都被赋予了意义。火箭穿雾而出，长长的尾焰在大雾中弥散成了一个火球，伴随着轰隆爆鸣迅速升空。笔者的手机条件有限，无法记录如此复杂的光学环境，只有勉强一段模糊的录像。但是人生第一次实地观看火箭发射的震撼场面，会在笔者的脑内清晰深刻，历久弥新，成为不可多得的人生体验。&lt;/p&gt;
&lt;p&gt;&amp;lt;table&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;img src=&quot;https://webp.maplef.top/2025/10/7d5cda59791322675c3ed946dfc1e512.jpg&quot;&amp;gt;&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;img src=&quot;https://webp.maplef.top/2025/10/1e70c737070fe8f4868daa055ebf9b7e.jpg&quot;&amp;gt;&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;拍屏隔壁大哥的相机&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;center&amp;gt;小破手机拍出来的&amp;lt;/center&amp;gt;&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/table&amp;gt;&lt;/p&gt;
&lt;p&gt;回到房间后已将近五点，再次打开 IITC 检查计划后沉沉睡去。笔者依稀记得自己做了一个噩梦，梦见西半边的连线怎么也连不上，这个人大抵是玩疯了罢。&lt;/p&gt;
&lt;h3&gt;4月29日午后 - 文昌&lt;/h3&gt;
&lt;p&gt;中午醒来打开手机，就看到 acaspirin 大佬发来的消息：“保亭的阻挡清掉了”，欣喜至极。如此的好消息值得从床上蹦起来，开车去往镇上，点上半只香香的白切文昌鸡，再要上一盘蒜蓉生蚝鲍鱼，配上菠萝炒饭美美地吃上一顿。&lt;/p&gt;
&lt;p&gt;&amp;lt;table&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;img src=&quot;https://webp.maplef.top/2025/10/2fbf3bc978c87b8e5c12493d3fe1d256.jpg&quot;&amp;gt;&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;lt;img src=&quot;https://webp.maplef.top/2025/10/d07d0959fbe2266c8397e2f1ec441b85.jpg&quot;&amp;gt;&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/table&amp;gt;&lt;/p&gt;
&lt;p&gt;今日再无别的安排，去往文昌市内采购长途旅行用品、逛了逛文南老街后，我们便计划回到住处。&lt;/p&gt;
&lt;p&gt;住处东边临海的地方，就是石头公园，按说那里才算是海南岛的最东端，既然来了就不如过去看看。于是我们把车开到了石头公园，可惜不巧石头公园已经暂停对外开放，抱着不到黄河心不死的态度，我们干脆把车开上了旁边的山。山里的小路崎岖，农户和住房散落，偶尔还有鸡狗拦我们的路。行至一个转角，可儿惊呼：“有 po”。&lt;/p&gt;
&lt;p&gt;这个我们偶然发现的【水塔克】看起来是一个破败的水塔，在此等荒郊野地能发现新的 portal，怎么不算是一种天赐良遇。我们下车摸了一些 key，插好脚，上好盾，成功连接上了【环形座椅】和【天海山大石头】，做出了一个不大不小的 field。笔者心情舒畅，驱车下山，期待这个偶然发现的 po 能给我们带来更多的收获。&lt;/p&gt;
&lt;p&gt;&amp;lt;p align=&quot;center&quot;&amp;gt;
&amp;lt;img src=&quot;https://webp.maplef.top/2025/10/83b3f1ac54fe3b113f1ff9a8e200eb71.jpg&quot; width=&quot;300&quot;/&amp;gt;
&amp;lt;center&amp;gt;从【水塔克】到【环形座椅】&amp;lt;/center&amp;gt;
&amp;lt;/p&amp;gt;&lt;/p&gt;
&lt;h3&gt;4月30日上半 - 文昌经东方至三亚&lt;/h3&gt;
&lt;p&gt;今天注定是很疲累的一天。我们计划从文昌向西出发，经过东方市向南，最终抵达三亚。车程大约500公里，7个小时。刚上路，海岛多变的天气又结结实实给我们上了一课，我们从阳光明媚开到大雨如注，又在路上慢慢放晴。就好像笔者此行颠沛的心，时而担忧，时而又庆幸，喜忧参半，就这样湿漉漉地期待着天晴。&lt;/p&gt;
&lt;p&gt;到达东方后的第一个目的地是八所中心渔港，因为是休渔期，船都不甚忙碌，车可以在港口堤坝上肆意前行。热带的海蓝得发绿，人站在堤坝上，仿佛就身处大海的中央。堤坝周围，散落着规整或不规整的消波块。我向来喜欢看消波块，并为消波块吸引，于是穷酸几句，只图一乐。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;消波块&lt;/p&gt;
&lt;p&gt;杂乱的秩序和规整的混沌，峥嵘突兀，却又暗自收敛&lt;/p&gt;
&lt;p&gt;消解波浪，吞噬愤怒；守御堤坝，隔阂思潮——大海永远不会遗忘&lt;/p&gt;
&lt;p&gt;可你还会记得我吗&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;此行本计划参观海南铁路博物馆，但当我们到达后却被告知下午两点半以后才能入馆参观，这对我们的行程来说太晚了，是不可接受的。于是笔者只能按连线的原计划起 po，并心情激动地在距离此处 218km 的【海南航空】按下 link 按钮。至此，从海南最北端海口分别至东西两侧的基线均已成功建立，笔者离胜利又进了一步。&lt;/p&gt;
&lt;p&gt;&amp;lt;p align=&quot;center&quot;&amp;gt;
&amp;lt;img src=&quot;https://webp.maplef.top/2025/10/311e5ed52d0a086bd3aca8557e13f929.jpg&quot; width=&quot;300&quot;/&amp;gt;
&amp;lt;center&amp;gt;从【海南铁路博物馆】到【海南航空】&amp;lt;/center&amp;gt;
&amp;lt;/p&amp;gt;&lt;/p&gt;
&lt;p&gt;下午五点，笔者驱车抵达了三亚。成败在此一举。&lt;/p&gt;
&lt;h3&gt;4月30日下半 - 三亚&lt;/h3&gt;
&lt;p&gt;今天也注定是不凡的一天。所有的谋算，所有的计划，所有的努力，即将在今天晚上见得真章。&lt;/p&gt;
&lt;p&gt;笔者驱车沿着三亚南部沿海的旅游公路一路向东，往住处行去。我们预定的酒店就在行动计划的不远处，所以打算先放下行李休整片刻再动身出发。就在我们即将到达酒店时，我们发现 log 中突然多出了一条绿色连线，且正好处在笔者计划做多重的其中两个 po 之间，这让人不禁有些担忧。我们立即联系了连这条线的绿军，请求他暂停在这片区域活动，没有得到立刻回应，但也不再出现新的 log。由于同行人可儿当天身体不适，思忖之下我们还是决定先回酒店休整，再尽快择机行动。&lt;/p&gt;
&lt;p&gt;下午 5 时许，笔者离开住处开始行动，首先前往西半 field 的最后节点【金鸡岭路社区户外活动中心】。这个 po 位于一个小巷子内部，车子开进去后刚巧有一个停车位，并且还能正好摸到，于是西半边的 field 被成功建立。这是一个几乎两腰等长 200km，底边 128km 的区域，总共产出了 1555510MU，是此行规划的面积最大的 field。这时，行动已经成功了近一半，鉴于接下来的多重需要频繁走停，笔者于是更换了更方便的电动车作为载具。&lt;/p&gt;
&lt;p&gt;&amp;lt;p align=&quot;center&quot;&amp;gt;
&amp;lt;img src=&quot;https://webp.maplef.top/2025/10/438a123517f6c66d15342cd39f6dc2f6.jpg&quot; width=&quot;300&quot;/&amp;gt;
&amp;lt;center&amp;gt;西半边的巨大 field&amp;lt;/center&amp;gt;
&amp;lt;/p&amp;gt;&lt;/p&gt;
&lt;p&gt;整个海南的电动车交通似乎都非常发达，从海口到文昌，从东方到三亚，路上都充斥着大量非机动车的身影，无论是机非混合车道还是路口机动车控制线前巨大的非机动车等候区都给笔者这个苏E外乡人带来了不小的震撼。虽然开车在这里成为了一件技巧性和心理素质要求很高的事情，但好在足够发达的电动车交通为我们沿路摸 po 提供了方便。&lt;/p&gt;
&lt;p&gt;按照预先的规划，我们将沿荔枝沟路行进至金鸡岭街，最后到达海岸边，使用沿途挑选好的 11 个 po 做多重。由于多重的形状比较狭长，link 距离达到了 211km，笔者只得在每个 po 上都安装 SoftBank Ultra Link 增加连接距离。笔者在金鸡岭街走走停停，每个 field 大小都基本在 100w MU 左右，一共拉了 11 个。在拉最后一个 po 【阑海花园】的时候，又额外将其连接至了【水塔克】，使笔者额外多获得了 100w MU。&lt;/p&gt;
&lt;p&gt;&amp;lt;p align=&quot;center&quot;&amp;gt;
&amp;lt;img src=&quot;https://webp.maplef.top/2025/10/20ced14fd6751e3dddfa682198effd8a.jpg&quot; width=&quot;300&quot;/&amp;gt;
&amp;lt;center&amp;gt;东半部分的多重&amp;lt;/center&amp;gt;
&amp;lt;/p&amp;gt;&lt;/p&gt;
&lt;h2&gt;结语&lt;/h2&gt;
&lt;p&gt;连接完最后一个 link 后，笔者坐在电动车上傻笑，听着自己越来越响咚咚咚的心跳，回想着这几天的计划、担忧、欣喜、激动，此刻都已经了然。然而做这一切究竟有什么意义呢？这个游戏给我带来的究竟是什么呢？笔者并不是什么崇高的人，也并不想发表一些冠冕的高论。笔者只觉得能够花掉全部的心力投入到一件事上，能够和世界各个角落真实的人产生连接，能够探访各地历经各种精彩，能够在游戏中获得正反馈和激励，就是笔者此行最大的收获。&lt;/p&gt;
&lt;p&gt;最后希望每位 ingress 同僚都能不懈前行，各自精彩，广阔天地，大有可为。&lt;/p&gt;
&lt;p&gt;&amp;lt;p align=&quot;center&quot;&amp;gt;
&amp;lt;img src=&quot;https://webp.maplef.top/2025/10/356eb51fc80ed807c0e91efd30a4e863.jpg&quot; width=&quot;300&quot;/&amp;gt;
&amp;lt;center&amp;gt;最终成果展示&amp;lt;/center&amp;gt;
&amp;lt;/p&amp;gt;&lt;/p&gt;
&lt;h2&gt;致谢&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;致谢不分先后&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;本次行动要感谢上海蓝军 POC &lt;strong&gt;Tarcadia&lt;/strong&gt; 提供的旅游计划并邀请我同行，两位司机的轮流交替驾车也让整个行程灵活了许多。如果没有此次旅游计划，这次行动和这份战报也将不复存在。&lt;/p&gt;
&lt;p&gt;本次行动还要非常感谢海口绿军 &lt;strong&gt;SpaceLion744&lt;/strong&gt; 给笔者提供了关键 po 的 key，并且给笔者提出了更优建议，帮助笔者理清了行动计划。之后还帮忙毒掉海口可能存在的挡线，笔者非常感激。如果没有 SpaceLion744 大佬的支持，我想本次行动不会做得这么完美。&lt;/p&gt;
&lt;p&gt;本次行动还要感谢三亚绿军 &lt;strong&gt;acaspirin&lt;/strong&gt;，在得知我们遇到了阻挡时主动帮我们清理掉了距离三亚约 100km 的保亭县内的红军和绿军连线，大大减少了我们需要往返一次保亭的工作量。&lt;/p&gt;
&lt;p&gt;最后，笔者还要感谢持续关注这次行动的每一个人，是你们让笔者所有的努力拥有了意义。&lt;/p&gt;
</content:encoded></item><item><title>Welcome</title><link>https://www.maplef.top/posts/welcome/</link><guid isPermaLink="true">https://www.maplef.top/posts/welcome/</guid><description>Welcome to my blog</description><pubDate>Fri, 30 Aug 2024 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;Welcome&lt;/h2&gt;
&lt;p&gt;Welcome to this blog of &amp;lt;u&amp;gt;Maplef&amp;lt;/u&amp;gt; &lt;em&gt;(aka. Maplefsnow)&lt;/em&gt;!&lt;/p&gt;
&lt;p&gt;This blog is still contributing. I appreciate your expectations!&lt;/p&gt;
&lt;h2&gt;欢迎&lt;/h2&gt;
&lt;p&gt;欢迎来到 &amp;lt;u&amp;gt;Maplef&amp;lt;/u&amp;gt;（也称 Maplefsnow）的个人博客！&lt;/p&gt;
&lt;p&gt;此博客还在建设中，敬请期待！&lt;/p&gt;
</content:encoded></item><item><title>HdHeLabTutorial</title><link>https://www.maplef.top/posts/hdhelabtutorial/</link><guid isPermaLink="true">https://www.maplef.top/posts/hdhelabtutorial/</guid><description>A tutorial for hdHe&apos;s Lab</description><pubDate>Fri, 30 Aug 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;code&gt;Author&lt;/code&gt; : Maplef&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Email&lt;/code&gt; : &lt;a href=&quot;mailto:maplefsnow@gmail.com&quot;&gt;maplefsnow@gmail.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Date&lt;/code&gt; : 2024.03&lt;/p&gt;
&lt;h2&gt;目录&lt;/h2&gt;
&lt;p&gt;&amp;lt;!-- TOC --&amp;gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#hdhelab-tutorial&quot;&gt;hdHeLab Tutorial&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#%E7%9B%AE%E5%BD%95&quot;&gt;目录&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#%E5%89%8D%E8%A8%80&quot;&gt;前言&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#%E5%BB%BA%E8%AE%AE%E6%8F%90%E5%89%8D%E6%8E%8C%E6%8F%A1%E7%9A%84%E7%9F%A5%E8%AF%86%E6%8A%80%E8%83%BD&quot;&gt;建议提前掌握的知识/技能&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#%E7%AE%80%E6%B4%81%E4%B8%94%E9%AB%98%E6%95%88%E5%9C%B0%E4%BD%BF%E7%94%A8%E7%8E%B0%E4%BB%A3%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9Fwindows-linux-&quot;&gt;简洁且高效地使用现代操作系统（Windows, Linux, ...）&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#linux&quot;&gt;Linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#windows&quot;&gt;Windows&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#%E8%A7%84%E8%8C%83%E5%9C%B0%E7%AE%A1%E7%90%86%E9%A1%B9%E7%9B%AE%E5%92%8C%E6%96%87%E4%BB%B6%E5%A4%B9%E7%BB%93%E6%9E%84&quot;&gt;规范地管理项目和文件夹结构&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#%E4%BC%9A%E4%BD%BF%E7%94%A8%E7%BB%88%E7%AB%AF-terminal-%E5%B9%B6%E7%90%86%E8%A7%A3%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F-environment-variables&quot;&gt;会使用终端 Terminal 并理解环境变量 Environment Variables&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#path&quot;&gt;Path&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#%E5%85%B6%E4%BB%96%E5%8F%98%E9%87%8F&quot;&gt;其他变量&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#%E4%BA%86%E8%A7%A3%E5%B9%B6%E6%8E%8C%E6%8F%A1%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E6%80%9D%E6%83%B3&quot;&gt;了解并掌握面向对象程序设计思想&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#%E4%BA%86%E8%A7%A3%E4%BB%A3%E7%A0%81%E7%BC%96%E8%BE%91%E5%99%A8editor%E5%92%8C%E9%9B%86%E6%88%90%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83ide%E5%8F%8A%E6%8E%8C%E6%8F%A1%E5%85%B6%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95&quot;&gt;了解代码编辑器（Editor）和集成开发环境（IDE）及掌握其使用方法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#%E7%AE%80%E5%8D%95%E4%BA%86%E8%A7%A3%E7%A8%8B%E5%BA%8F%E7%BC%96%E8%AF%91%E8%BF%87%E7%A8%8B%E5%92%8C%E7%BC%96%E8%AF%91%E5%99%A8&quot;&gt;简单了解程序编译过程和编译器&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#%E7%BC%96%E8%AF%91%E5%9B%9B%E9%98%B6%E6%AE%B5&quot;&gt;编译四阶段&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#%E7%BC%96%E8%AF%91%E5%99%A8&quot;&gt;编译器&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#%E4%BD%BF%E7%94%A8-vpn-%E8%8A%82%E7%82%B9%E5%92%8C%E4%BB%A3%E7%90%86%E8%BD%AF%E4%BB%B6%E8%AE%BF%E9%97%AE%E5%9B%BD%E9%99%85%E7%BD%91%E7%BB%9C&quot;&gt;使用 VPN 节点和代理软件访问国际网络&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#%E8%8E%B7%E5%8F%96%E4%BB%A3%E7%90%86%E8%BD%AF%E4%BB%B6&quot;&gt;获取代理软件&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#%E8%8E%B7%E5%8F%96-vpn-%E8%8A%82%E7%82%B9&quot;&gt;获取 VPN 节点&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#git&quot;&gt;Git&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#%E5%AE%89%E8%A3%85&quot;&gt;安装&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#%E9%85%8D%E7%BD%AE&quot;&gt;配置&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#%E5%AD%A6%E4%B9%A0&quot;&gt;学习&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#%E6%B5%81%E7%A8%8B%E5%9B%BE%E7%BB%98%E5%88%B6&quot;&gt;流程图绘制&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#drawio&quot;&gt;draw.io&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#microsoft-visio&quot;&gt;Microsoft Visio&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#cmake&quot;&gt;CMake&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#%E5%AE%89%E8%A3%85&quot;&gt;安装&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#%E5%AD%A6%E4%B9%A0&quot;&gt;学习&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#%E5%AE%9E%E9%AA%8C%E5%AE%A4%E5%B8%B8%E7%94%A8%E8%BD%AF%E4%BB%B6%E5%92%8C%E5%BC%80%E5%8F%91%E5%A5%97%E4%BB%B6&quot;&gt;实验室常用软件和开发套件&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#opencv---%E6%9C%BA%E5%99%A8%E8%A7%86%E8%A7%89&quot;&gt;OpenCV - 机器视觉&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#%E5%AE%89%E8%A3%85&quot;&gt;安装&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#%E5%AD%A6%E4%B9%A0&quot;&gt;学习&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#qt--labview---gui-%E6%93%8D%E4%BD%9C%E7%95%8C%E9%9D%A2%E8%AE%BE%E8%AE%A1&quot;&gt;Qt / LabView - GUI 操作界面设计&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#ninational-instruments-daqmx---ni-%E6%95%B0%E6%8D%AE%E9%87%87%E9%9B%86%E5%8D%A1&quot;&gt;NINational Instruments DAQmx - NI 数据采集卡&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#advantech-common-motion-api---%E7%A0%94%E5%8D%8E%E8%BF%90%E5%8A%A8%E6%8E%A7%E5%88%B6%E5%8D%A1&quot;&gt;Advantech Common Motion API - 研华运动控制卡&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#%E5%AE%89%E8%A3%85&quot;&gt;安装&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#%E5%AD%A6%E4%B9%A0&quot;&gt;学习&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#daheng-galaxy-sdk---%E5%A4%A7%E6%81%92%E7%9B%B8%E6%9C%BA%E5%BC%80%E5%8F%91%E5%A5%97%E4%BB%B6&quot;&gt;DaHeng Galaxy SDK - 大恒相机开发套件&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#hikvision-sdk---%E6%B5%B7%E5%BA%B7%E5%A8%81%E8%A7%86%E7%9B%B8%E6%9C%BA%E5%BC%80%E5%8F%91%E5%A5%97%E4%BB%B6&quot;&gt;HIKVision SDK - 海康威视相机开发套件&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#%E5%AE%89%E8%A3%85&quot;&gt;安装&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#%E5%AD%A6%E4%B9%A0&quot;&gt;学习&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE&quot;&gt;开发环境配置&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#visial-studio-code&quot;&gt;Visial Studio Code&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#%E5%AE%89%E8%A3%85&quot;&gt;安装&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#%E9%85%8D%E7%BD%AE&quot;&gt;配置&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#visual-studio&quot;&gt;Visual Studio&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#%E5%AE%89%E8%A3%85&quot;&gt;安装&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#%E9%85%8D%E7%BD%AE&quot;&gt;配置&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#%E5%86%99%E5%9C%A8%E5%90%8E%E9%9D%A2&quot;&gt;写在后面&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;lt;!-- /TOC --&amp;gt;&lt;/p&gt;
&lt;h2&gt;前言&lt;/h2&gt;
&lt;p&gt;我时常怀疑，写下这些东西的意义，究竟会有多少。我时常怀疑，非计科科班出身而要掌握这些技能，是否会有失偏颇。&lt;/p&gt;
&lt;p&gt;我曾目睹一些惨象，比如用记事本在没有后缀名的文档里敲代码，比如需要恢复之前删掉的某个模块而不断 ctrl-Z，比如混乱的项目库管理让整个项目几乎无法维护……&lt;/p&gt;
&lt;p&gt;许多看似常识一样的知识和技能，如果不去了解和学习或者甚至未曾听闻，便也会如“隔了一层可悲的厚障壁”，怎么也施展不开。除去研究方面的种种困难，我更不愿意看到的是由于低效和混乱的工作方式导致时间和精力被白白浪费。但这是一个水滴石穿的过程，只有具备一定的项目开发经验才会慢慢在实践中总结一套属于自己的工作流，慌不择路往往是一个开发者的必经之路。&lt;/p&gt;
&lt;p&gt;我常常回想：“若是当时写某某的时候如何如何，便好了”，“若是当时知道有某某，就好了”。诸如此类的想法变成了一点又一点微小的遗憾，一点又一点微小的遗憾聚沙成塔，最终变得无法撼动。我不想看到后来者继续积累这种微小的遗憾。&lt;/p&gt;
&lt;p&gt;我并非计科科班出身，只依靠一厢情愿在这条路上摸爬滚打，并不见得有什么资格在这里指指点点，姑妄言之，姑妄听之。若是读后可以产生一些有益的思考或启发，便也不枉实验室经年来对我的种种栽培。&lt;/p&gt;
&lt;p&gt;我在深夜里回顾过往，敲下这些文字。那些曾经做过的努力和探索，或心有不甘，或潦草收尾，都构筑成坚实而悲伤的基，不堪回首，回首不堪。而如今我即将离开这里，时间要把一切都雪藏。这些文字或许只是我自己的一厢情愿，连我自己都不知道它们究竟何去何从。但倘若尚有一个人读过，倘若只有一个人读过也好，也算作是我曾经存在于斯的今生今世的证明。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;不要温和地走进，那个良夜。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;em&gt;&amp;lt;p style=&quot;text-align: center;&quot;&amp;gt;献给勇敢的人&amp;lt;/p&amp;gt;&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;建议提前掌握的知识/技能&lt;/h2&gt;
&lt;p&gt;笔者整理了进入实验室以及参与各种竞赛以来，自身或其他同学因基本能力的欠缺而导致的低效工作情况，大致列举了在正式开始启动一个项目前需要掌握的基本技能，以供参考。&lt;/p&gt;
&lt;h3&gt;简洁且高效地使用现代操作系统（Windows, Linux, ...）&lt;/h3&gt;
&lt;h4&gt;Linux&lt;/h4&gt;
&lt;p&gt;如果读者是 Linux 发行版（如 Arch Linux、Ubuntu 等）的惯用者，笔者认为读者已经不必继续阅读本章节的剩余部分，可直接阅读 &lt;a href=&quot;#%E5%AE%9E%E9%AA%8C%E5%AE%A4%E5%B8%B8%E7%94%A8%E8%BD%AF%E4%BB%B6%E5%92%8C%E5%BC%80%E5%8F%91%E5%A5%97%E4%BB%B6&quot;&gt;实验室常用软件和开发套件&lt;/a&gt; 一章。&lt;/p&gt;
&lt;h4&gt;Windows&lt;/h4&gt;
&lt;p&gt;有许多个人电脑常用的系统管理方法可能并不适用于工控机/开发环境，由于 Windows 系统十分宏大和繁杂，每个人都有不同的理解，笔者在此给出一些建议，仅供参考。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;开发环境应竭力遵循系统的整洁和最小化原则，不要安装不必要的大型应用软件，&lt;strong&gt;特别是 360、电脑管家等所谓的安全软件&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;确保开发套件、SDK、驱动、编译器等重要系统组件从&lt;strong&gt;官方网站&lt;/strong&gt;下载，不要使用第三方下载站或分发页。若官网无法访问，参考 &lt;a href=&quot;#%E4%BD%BF%E7%94%A8-vpn-%E8%8A%82%E7%82%B9%E5%92%8C%E4%BB%A3%E7%90%86%E8%BD%AF%E4%BB%B6%E8%AE%BF%E9%97%AE%E5%9B%BD%E9%99%85%E7%BD%91%E7%BB%9C&quot;&gt;使用 VPN 节点和代理软件访问国际网络&lt;/a&gt; 一章&lt;/li&gt;
&lt;li&gt;开发环境可能被多人使用，不要留下自己的个人信息（如浏览器记住密码等功能），信息安全很重要&lt;/li&gt;
&lt;li&gt;尽量不要使用中文路径名，一律使用英文命名文件夹和源文件。路径名中严禁出现半角单引号(&lt;code&gt;&apos;&lt;/code&gt;)、半角双引号(&lt;code&gt;&quot;&lt;/code&gt;)或其他可能引起歧义的特殊字符。路径名中尽量不要带有空格，如确有需要可使用半角减号(&lt;code&gt;-&lt;/code&gt;)或下划线(&lt;code&gt;_&lt;/code&gt;)代替&lt;/li&gt;
&lt;li&gt;合理管理硬盘空间，可对系统硬盘进行必要的分区加以区分。如可参考分为系统(system)、环境(env)、软件(software)、项目(projects)、文档(doc)五区&lt;/li&gt;
&lt;li&gt;尽管系统回收站是最后的后悔药，删除每一个文件之前也都要三思&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;规范地管理项目和文件夹结构&lt;/h3&gt;
&lt;p&gt;规范、有序地管理项目结构有助于代码层次的理解和项目的扩展，可多阅读、参考别人的项目，学习文件夹命名方式、文件夹的组织等，最终形成个人的习惯。&lt;/p&gt;
&lt;p&gt;下面是我个人使用的一个项目结构，可供参考：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;.
├── CMakeLists.txt      -&amp;gt; cmake 文档
├── .git                -&amp;gt; git 本地存储库
├── .gitignore          -&amp;gt; git 忽略文件
├── include             -&amp;gt; 模块头文件
├── lib                 -&amp;gt; 模块静态链接库
├── module              -&amp;gt; 各模块面向对象封装
├── src                 -&amp;gt; 源代码
├── tasks               -&amp;gt; 多线程任务
├── tests               -&amp;gt; 测试脚本
├── utils               -&amp;gt; 工具类
└── .vscode             -&amp;gt; vscode 配置文件
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;会使用终端 (Terminal) 并理解环境变量 (Environment Variables)&lt;/h3&gt;
&lt;p&gt;Windows 自带的终端命令行主要是 &lt;code&gt;cmd.exe&lt;/code&gt; 或 &lt;code&gt;powershell.exe&lt;/code&gt;，可以直接通过 &lt;code&gt;Win + R&lt;/code&gt; 快捷键调出运行后启动。但这两个终端过于老旧，笔者推荐 Windows 推出的全新终端 &lt;code&gt;Windows Terminal&lt;/code&gt; 接管上述两个程序的功能。打开 Microsoft Store 搜索 “Windows Terminal” 即可下载并安装，安装完成后 &lt;code&gt;Win + R&lt;/code&gt; 并键入 &lt;code&gt;wt&lt;/code&gt; 即可快捷启动。&lt;/p&gt;
&lt;p&gt;关于 Windows 命令行指令，可以自行搜索官方文档学习，常用的有 &lt;code&gt;cd&lt;/code&gt;, &lt;code&gt;dir&lt;/code&gt;, &lt;code&gt;cat&lt;/code&gt;, &lt;code&gt;rm&lt;/code&gt; 等。&lt;/p&gt;
&lt;p&gt;一个默认的终端会读取系统中的环境变量，让运行特定程序变得简单。环境变量分为系统变量和用户变量，系统变量对所有用户生效，用户变量则只对当前登录的用户生效，下文不再区分。在 Windows 平台下，环境变量主要分为 &lt;code&gt;Path&lt;/code&gt; 和其他变量。&lt;/p&gt;
&lt;h4&gt;Path&lt;/h4&gt;
&lt;p&gt;Path 环境变量的主要作用是能够让系统快速启动一个应用程序，其变量值是很多个文件夹路径。它的意思是告诉系统：当你想运行一个应用程序时，你可以在这些文件夹里查找。这样就能让系统快速启动这个应用程序。&lt;/p&gt;
&lt;p&gt;一些经典应用：&lt;code&gt;git&lt;/code&gt;, &lt;code&gt;python3&lt;/code&gt;, &lt;code&gt;code&lt;/code&gt;, &lt;code&gt;java&lt;/code&gt;, &lt;code&gt;g++&lt;/code&gt; 等。&lt;/p&gt;
&lt;h4&gt;其他变量&lt;/h4&gt;
&lt;p&gt;其他变量是为了方便记录某些特定路径或系统信息，或打开某些特定文件，可以自行配置。&lt;/p&gt;
&lt;h3&gt;了解并掌握面向对象程序设计思想&lt;/h3&gt;
&lt;p&gt;笔者认为，对于开发者而言，学习并具有面向对象的程序设计思维非常重要。&lt;strong&gt;面向对象是一种思维，并不局限于某种特定的语言&lt;/strong&gt;。学习面向对象的思想可以让代码编写能力更上一个台阶，并且对整个代码世界和现实世界都有更进一步的认识。&lt;/p&gt;
&lt;p&gt;学习面向对象程序设计，学习封装、继承、多态等特性，可以提高代码的复用性，让整个工程井井有条，省去重复开发相似功能的时间。&lt;/p&gt;
&lt;p&gt;推荐阅读菜鸟教程中关于 C++ 面向对象部分的介绍：&lt;a href=&quot;https://www.runoob.com/cplusplus/cpp-classes-objects.html&quot;&gt;https://www.runoob.com/cplusplus/cpp-classes-objects.html&lt;/a&gt;。其他文档或视频教程均可，可以自行搜索。&lt;/p&gt;
&lt;h3&gt;了解代码编辑器（Editor）和集成开发环境（IDE）及掌握其使用方法&lt;/h3&gt;
&lt;h3&gt;简单了解程序编译过程和编译器&lt;/h3&gt;
&lt;h4&gt;编译四阶段&lt;/h4&gt;
&lt;p&gt;从代码源文件到最终能够执行的可执行文件，编译过程会经过以下的四个阶段：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;预处理&lt;/li&gt;
&lt;li&gt;编译&lt;/li&gt;
&lt;li&gt;汇编&lt;/li&gt;
&lt;li&gt;链接&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;具体细节可自行搜索学习，特别需要着重理解的是“&lt;strong&gt;链接&lt;/strong&gt;”阶段，此阶段也是环境配置和程序报错的重灾区。&lt;/p&gt;
&lt;h4&gt;编译器&lt;/h4&gt;
&lt;p&gt;常见的 C++ 编译器有以下几种：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GCC (GNU Compiler Collection)：跨平台编译器&lt;/li&gt;
&lt;li&gt;MinGW (Minimalist GNU for Windows)：在Windows上开发和编译使用GNU工具链的应用程序，提供了一种轻量级的方式在 Windows 环境下进行开发&lt;/li&gt;
&lt;li&gt;MSVC (Microsoft Visual C++)：微软开发的一款 C++ 编译器和集成开发环境，是 Windows 平台上最常用的 C++ 开发工具之一&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;承担具体编译任务的主要是编译器中的 &lt;code&gt;gcc.exe&lt;/code&gt;(C) 和 &lt;code&gt;g++.exe&lt;/code&gt;(C++) 程序，集成开发环境或 cmake 脚本等底层调用的都是这些程序以完成编译操作。&lt;/p&gt;
&lt;p&gt;有关 MinGW 的安装，可参考：&lt;a href=&quot;https://code.visualstudio.com/docs/cpp/config-mingw&quot;&gt;https://code.visualstudio.com/docs/cpp/config-mingw&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;使用 VPN 节点和代理软件访问国际网络&lt;/h3&gt;
&lt;p&gt;使用 VPN 节点，俗称“翻墙”，可以自由地访问国际网络和服务，如 &lt;a href=&quot;https://google.com&quot;&gt;Google&lt;/a&gt;、&lt;a href=&quot;https://arxiv.org/&quot;&gt;Arxiv&lt;/a&gt; 等。&lt;/p&gt;
&lt;h4&gt;获取代理软件&lt;/h4&gt;
&lt;p&gt;笔者常用的代理软件为 Clash，但 Clash 官方内核仓库因不可抗力被迫删除，目前可在此镜像站下载 Clash For Windows 版本：&lt;a href=&quot;https://www.clash.la/releases/&quot;&gt;https://www.clash.la/releases/&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;其他代理软件，如 &lt;a href=&quot;https://www.shadowrocket.vip/&quot;&gt;ShadowRocket&lt;/a&gt;、 &lt;a href=&quot;https://www.v2ray.com/&quot;&gt;v2ray&lt;/a&gt; 等亦可，可根据喜好自行探索。&lt;/p&gt;
&lt;h4&gt;获取 VPN 节点&lt;/h4&gt;
&lt;p&gt;有许多个人或国际组织对中国大陆用户提供 VPN 节点服务，笔者常用的代理服务由 XSUS 提供，可在此进行购买：&lt;a href=&quot;https://xsus.wiki/&quot;&gt;https://xsus.wiki/&lt;/a&gt;。其他运营商亦可，自行探索。&lt;/p&gt;
&lt;p&gt;简而言之，购买节点后会获得一串订阅链接，将此订阅链接粘贴至代理软件相应的配置项中即可拉取节点信息，选择节点并开启系统代理后即可自由访问国际网络。相关教程很多，可以自行搜索。&lt;/p&gt;
&lt;h3&gt;Git&lt;/h3&gt;
&lt;p&gt;Git 官网：&lt;a href=&quot;https://git-scm.com/&quot;&gt;https://git-scm.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;学会使用 Git 管理自己的项目，是笔者认为每个编写代码的人应该具备的基本素质。Git 提供了完善的版本管理机制，允许开发者以“提交(commit)”为单位对项目代码进行回溯，更有全球性的代码仓库 &lt;a href=&quot;https://github.com/&quot;&gt;GitHub&lt;/a&gt; 可作为远程(remote)服务器使用，大大降低了因本地硬件故障造成的项目丢失可能性。&lt;/p&gt;
&lt;h4&gt;安装&lt;/h4&gt;
&lt;p&gt;在 Windows 下，官网下载 Git 的安装程序并按照提示安装即可。Git 的安装程序可配置项较多，全部使用默认设置一路 next 即可。&lt;/p&gt;
&lt;p&gt;将 Git 的安装目录加入系统变量(PATH)中。&lt;/p&gt;
&lt;h4&gt;配置&lt;/h4&gt;
&lt;p&gt;打开终端，对 Git 进行基本的配置。执行以下命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 设置 git 全局代理，代理端口根据代理软件给出的端口设置，一般为 7890
git config --global https.proxy https://127.0.0.1:7890
git config --global http.proxy http://127.0.0.1:7890

# 设置 git 提交时使用的用户名和邮箱，否则无法进行提交
# 如果开发环境是公共的且所有人共用一个账户，不要填写自己的个人信息，填一个公用的即可（乱填也行）
git config user.name &amp;lt;your_name&amp;gt;
git config user.email &amp;lt;your_email&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;学习&lt;/h4&gt;
&lt;p&gt;推荐一个可视化学习 Git 的网站：&lt;a href=&quot;https://learngitbranching.js.org/?locale=zh_CN&quot;&gt;https://learngitbranching.js.org/?locale=zh_CN&lt;/a&gt;，这个网站基本囊括了 Git 使用的所有入门/初级知识，值得一学。&lt;/p&gt;
&lt;h3&gt;流程图绘制&lt;/h3&gt;
&lt;h4&gt;draw.io&lt;/h4&gt;
&lt;p&gt;一个开源的绘图工具，网站：&lt;a href=&quot;https://draw.io/&quot;&gt;https://draw.io/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;可以在线绘制，也有应用程序，是画流程图、甘特图等各类图表的好帮手，模板丰富。&lt;/p&gt;
&lt;h4&gt;Microsoft Visio&lt;/h4&gt;
&lt;p&gt;和微软 Office 家族御三家的操作逻辑相同，可以自行学习。&lt;/p&gt;
&lt;h3&gt;CMake&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;CMake是一个跨平台的安装（编译）工具，可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件，能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CMakeLists.txt。Cmake 并不直接建构出最终的软件，而是产生标准的建构档（如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces），然后再依一般的建构方式使用。&lt;/p&gt;
&lt;p&gt;——百度百科&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;简而言之，CMake 可以看作是 Make 的上层封装，使开发者直接生成 Makefile，省去复杂的编写。用 CMake 进行项目的建构可以类比使用 VS 建构，但 CMake 更灵活轻量更易配置，且是跨平台的。&lt;/p&gt;
&lt;p&gt;后文的 &lt;a href=&quot;#%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE&quot;&gt;开发环境配置&lt;/a&gt; 一章，笔者介绍的就是 VS Code + CMake 的环境配置方法。&lt;/p&gt;
&lt;h4&gt;安装&lt;/h4&gt;
&lt;p&gt;CMake 官方下载：&lt;a href=&quot;https://cmake.org/download/&quot;&gt;https://cmake.org/download/&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;学习&lt;/h4&gt;
&lt;p&gt;CMake 官方编写的 Tutorial 就是最好的 CMake 教程：&lt;a href=&quot;https://cmake.org/cmake/help/latest/guide/tutorial/index.html&quot;&gt;https://cmake.org/cmake/help/latest/guide/tutorial/index.html&lt;/a&gt;，值得一学。&lt;/p&gt;
&lt;h2&gt;实验室常用软件和开发套件&lt;/h2&gt;
&lt;p&gt;笔者整理了进入实验室以来所接触到的各种硬件软件的开发套件，并给予简要介绍和说明。&lt;/p&gt;
&lt;p&gt;有关如何使用 VS(Visual Studio) 或 VS Code(Visual Studio Code) 进行相关软件环境和项目的配置，参见后文。&lt;/p&gt;
&lt;h3&gt;OpenCV - 机器视觉&lt;/h3&gt;
&lt;h4&gt;安装&lt;/h4&gt;
&lt;p&gt;OpenCV 官方下载页：&lt;a href=&quot;https://opencv.org/releases/&quot;&gt;https://opencv.org/releases/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;运行下载好的 exe 程序，选择解压路径即可完成安装。&lt;/p&gt;
&lt;p&gt;有关如何将 OpenCV 集成至自己的项目中，参见 &lt;a href=&quot;#%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE&quot;&gt;开发环境配置&lt;/a&gt; 一章。&lt;/p&gt;
&lt;h4&gt;学习&lt;/h4&gt;
&lt;p&gt;关于 OpenCV 的学习，市面上有很多教程，可以自行搜索。&lt;/p&gt;
&lt;p&gt;一些有用的资料：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OpenCV 官方文档：&lt;a href=&quot;https://docs.opencv.org/4.9.0/index.html&quot;&gt;https://docs.opencv.org/4.9.0/index.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;OpenCV Tutorial C++：&lt;a href=&quot;https://www.opencv-srf.com/p/introduction.html&quot;&gt;https://www.opencv-srf.com/p/introduction.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Learn OpenCV C++ and Python Examples：&lt;a href=&quot;https://github.com/spmallick/learnopencv&quot;&gt;https://github.com/spmallick/learnopencv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Qt / LabView - GUI 操作界面设计&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;由于笔者仅进行过 Qt 的开发，故本节内容只介绍 Qt。&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Qt Online Installer 下载：&lt;a href=&quot;https://www.qt.io/download-qt-installer-oss&quot;&gt;https://www.qt.io/download-qt-installer-oss&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;由于在线安装默认连接的官方下载源速度过于缓慢，需要手动指定国内中科大镜像源，所以不要通过双击此 exe 的方式进行下载。在下载目录打开终端，键入以下命令启动下载器：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# 由于版本可能不同，下载器文件名按照实际名字更改
.\qt-unified-windows-x64-4.7.0-online.exe --mirror https://mirrors.ustc.edu.cn/qtproject
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;按照下载器给出的提示进行安装，在指定安装路径界面选择 &lt;code&gt;Qt x.x for desktop development&lt;/code&gt; 安装方式，之后全部以默认项安装即可。&lt;/p&gt;
&lt;p&gt;Qt 自带了 minGW1120_64 编译器和 cmake，（也许）针对 Qt 进行了特别的优化，推荐在配置 Qt 环境时直接指定 Qt 自带的编译器和 cmake，无需额外安装。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Qt 自带的 mingw 编译器位置：&lt;code&gt;../Qt/Tools/mingw1120_64/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Qt 自带的 cmake 位置：&lt;code&gt;../Qt/Tools/CMake_64/bin/&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;NI(National Instruments) DAQmx - NI 数据采集卡&lt;/h3&gt;
&lt;h3&gt;Advantech Common Motion API - 研华运动控制卡&lt;/h3&gt;
&lt;h4&gt;安装&lt;/h4&gt;
&lt;p&gt;Advantech Common Motion Driver 下载：&lt;a href=&quot;https://www.advantech.com.cn/zh-cn/support/details/driver?id=1-RNJ0CF&quot;&gt;https://www.advantech.com.cn/zh-cn/support/details/driver?id=1-RNJ0CF&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;下载后安装软件，软件安装完成后会自动安装驱动，保持默认设置即可。&lt;/p&gt;
&lt;p&gt;研华官方提供的示例软件 Common Motion Utility 的路径为 &lt;code&gt;../Advantech/Common Motion/Utility/Common Motion Utility.exe&lt;/code&gt;，可在此进行基本的板卡功能测试。&lt;/p&gt;
&lt;h4&gt;学习&lt;/h4&gt;
&lt;p&gt;Common motion API manual：&lt;a href=&quot;https://www.advantech.com/en-us/support/details/software-api-manual?id=1-11TOQZZ&quot;&gt;https://www.advantech.com/en-us/support/details/software-api-manual?id=1-11TOQZZ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;自行下载阅读并学习该开发手册。&lt;/p&gt;
&lt;h3&gt;DaHeng Galaxy SDK - 大恒相机开发套件&lt;/h3&gt;
&lt;h3&gt;HIKVision SDK - 海康威视相机开发套件&lt;/h3&gt;
&lt;h4&gt;安装&lt;/h4&gt;
&lt;p&gt;官方相机客户端 MVS 下载：&lt;a href=&quot;https://www.hikrobotics.com/cn/machinevision/service/download?module=0&quot;&gt;https://www.hikrobotics.com/cn/machinevision/service/download?module=0&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;学习&lt;/h4&gt;
&lt;p&gt;安装 MVS 后，在 &lt;code&gt;../MVS/Development/Documentations/&lt;/code&gt; 目录下可找到文档和开发指南，可对照阅读学习。&lt;/p&gt;
&lt;h2&gt;开发环境配置&lt;/h2&gt;
&lt;p&gt;配置开发环境向来是让人头痛的事情，笔者深有体会。不同的系统版本、软件版本、集成开发环境版本下都会产生难以预期的奇怪报错，且通常由于问题的特殊性难以找到相应的教程，笔者对此心有戚戚。笔者在此撰写的教程总有一天会过时或失效，笔者希望读者在配置环境的过程中逐渐掌握一般方法和常见问题的解决方式，学会看报错信息和 log，在试错中不断学习和进步，以期能够自由地组装趁手的开发环境。&lt;/p&gt;
&lt;p&gt;由于 Visual Studio 内置了 Windows Kit 和 MSVC 编译器等 Windows 平台下开发必需的组件，即使只使用 vscode 进行开发，也需要安装 Visual Studio 及其组件。&lt;/p&gt;
&lt;h3&gt;Visial Studio Code&lt;/h3&gt;
&lt;h4&gt;安装&lt;/h4&gt;
&lt;p&gt;VS Code 官方下载：&lt;a href=&quot;https://code.visualstudio.com&quot;&gt;https://code.visualstudio.com&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;配置&lt;/h4&gt;
&lt;h3&gt;Visual Studio&lt;/h3&gt;
&lt;h4&gt;安装&lt;/h4&gt;
&lt;p&gt;Visual Studio 官方下载：&lt;a href=&quot;https://visualstudio.microsoft.com&quot;&gt;https://visualstudio.microsoft.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;遵循安装程序的指引进行安装，组件勾选 &lt;code&gt;使用 C++ 的桌面开发&lt;/code&gt; 和 &lt;code&gt;通用 Windows 平台开发&lt;/code&gt; 即可，右侧详细组件列表可继续自行选择需要组件进行添加。若 &lt;code&gt;Windows 10 Kit&lt;/code&gt; 没有勾选，可选上。&lt;/p&gt;
&lt;p&gt;更改安装位置到自己喜欢的位置，取消勾选 &lt;code&gt;安装后保留缓存&lt;/code&gt;。一个可参考的配置如下：&lt;/p&gt;
&lt;p&gt;(image not found)&lt;/p&gt;
&lt;h4&gt;配置&lt;/h4&gt;
&lt;h2&gt;写在后面&lt;/h2&gt;
&lt;p&gt;这里是写在后面。&lt;/p&gt;
</content:encoded></item><item><title>灰白</title><link>https://www.maplef.top/posts/gray/</link><guid isPermaLink="true">https://www.maplef.top/posts/gray/</guid><description>鲜红的春联翻过，一片灰白。</description><pubDate>Mon, 31 Jan 2022 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;鲜红的春联翻过，一片灰白。&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;我的家乡，不是一个有雪的城。这里的冬天很冷，却不见冰雪，只有阵阵刺骨的寒风，和一片灰白。冬日的天空似乎总是灰白的，悲伤而冷静，映着同样灰白的街道。自行车的链条轧轧作响，呼出的每一口气凝成灰白的雾四散，和周围的世界渐渐融为一体。&lt;/p&gt;
&lt;p&gt;街里人声嘈杂，车行踽踽。路边的摊贩揣着手等待主顾，一旁的烟囱冒着灰白的烟。这就是过年了，每到过年的时候，这座不大的城就会忽然热闹起来，四处的人和车，彷佛要淹没一切。每到这个时候我就会寻找一点点鲜红，藏在街上小孩穿的虎头鞋里，铺在春联摊子大张的福字里，印在每一条高高挂起的横幅里……可是今年我似乎找不到，也不愿去找——所有的鲜红在眼前只剩一片灰白。&lt;/p&gt;
&lt;p&gt;“旧历的年底毕竟最像年底”，我仍然能回忆起许多年前的这个时候，我的语文老师在办公室如是说。我笑笑接上了话：“现在旧历的年底已经不像年底喽”。老师似乎很惊讶，但很快也点点头不再说话，或许是默许了我的说法。我望向窗外，天空也只有一片灰白，正如办公桌上同样一片灰白的许多试卷。&lt;/p&gt;
&lt;p&gt;在我尚未长大的无数片段里，回忆似乎也总是灰白的。耳光打在脸上，眼前的灰白点点泛起，又渐渐消散；梦里我跑出一片火海的屋子，外公却在屋里端着碗朝我笑，火光熠熠，我在一片灰白中惊醒；输液大厅白晃晃的灯光，吊瓶里的液体泛着尖锐的灰白，青霉素很疼，母亲拉着我的手不说话；冬日的一个下午我站上曾经母校教学楼的废墟，烟土飞扬，我在这里存在过的证明蒙上灰白的尘埃。灰白的照片，长长一列灰白的人且泣且走，外公就在那样一个小小的灰白的盒子里面与我告别。&lt;/p&gt;
&lt;p&gt;灰白是一种颓废的力量，安静的嘈杂，井然的混乱。过往的一切都陷在重重的灰白无可挽回，像倏忽而逝的云，如风来即散的烟，溶解在岁月里纠缠不清。最狂妄的年纪，想来也笼罩着一片灰白。四四方方不起眼的一座小灰楼，明明暗暗照亮整间教室的白光灯管，纷纷扬扬写满正确与错误的试卷，填补我同样灰白的人生，他说前程万里。&lt;/p&gt;
&lt;p&gt;除夕的前夜父亲醉酒在床，沉重的呼吸混杂酸腐的酒精气味，窗帘隐隐透出对面楼里的灯火，昏暗的房间一片灰白。厨房的灯光发青，一盆盆焯过水的肉失去了血色，只剩灰白，无意义地堆叠在一起。灰白的饺子汤，同样灰白泛着粉红或青绿的饺子，中午未净的许多菜凝着灰白的油，花生米裹上灰白的糖霜，好甜，寥寥的两三个人，这就是年夜饭了。&lt;/p&gt;
&lt;p&gt;奶奶的头发灰白，X光片上灰白的骨头，深深嵌在骨头里灰白的人造关节，钉子野蛮而突兀地伸长。冬至过后那天晚上父亲在医院无意义的嘶吼，灰白的显示器和冰冷的数据，砂轮切割磨平灰白的骨头，奶奶说都能听见。只是心里一阵难受的紧，然后就什么都不知道了。父亲看见手动了一下，握着我的手的这双手在那个冬至过后的夜里动了一下，我的眼前只有一片灰白。&lt;/p&gt;
&lt;p&gt;鞭炮嘈杂，升腾起的烟是灰白；烟花绚烂，升腾起的烟是灰白；还有孩童玩耍的小爆竹，欢愉只有片刻，留下的尽是大片灰白。沉默，不见焰火升空，也不闻鞭炮响起，灰白笼罩了一切，井然有序，寂静如斯。&lt;/p&gt;
&lt;p&gt;过往的岁月在这一片灰白里终止，也由这一片灰白新生。人生就是走过一片又一片灰白，将喜悦推倒，将悲伤填补，将鲜艳褪去，将空白晕染。我在这灰白的灯下，用灰白的键盘敲击灰白的文字，几近褪色的片刻岁月，也许就可以在浩如烟海的灰白里永生。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;2022.01.31&lt;/code&gt; 于故乡
于除夕夜&lt;/p&gt;
</content:encoded></item></channel></rss>