2022年11月2日 星期三

在 Ubuntu 安裝 CxxlMan2 程式庫

這次的目標在安裝 CxxlMan2 程式庫和多國語言插件,以及用一個簡單的例子做範例。在 CxxlMan2 的部份先下載以下檔案,並解壓到一個資料夾中,我是放在 ~/MySrc

首先安裝好 C++ 編譯器,先下三道命令
$ sudo apt install gcc
$ sudo apt install c++
$ sudo apt-get install uuid-dev
再到 Ubuntu Software 安裝 CMake 及 Code::Blocks IDE,準備完成後就可以編譯安裝了。

編譯完成後的相關成品都要放到 /usr/local,也就是 Include 檔要放到 /usr/local/include,CxxlMan2 程式庫要放到 /usr/local/lib,Release 版的插件要放到 /usr/local/plugin,Debug 版的插件要放到 /usr/local/plugin_d。

2022年11月1日 星期二

VMware 安裝 Ubuntu 22.04.1 的鳥事

 為了能修訂 CxxlMan2 程式庫在 Linux 適用性,所以在 VMware 16.2.4 裝了一套 ubuntu-22.04.1-desktop-amd64 來用,但卻不能在 Host 與 Guest 之間複製檔案,上網找了一堆奇形怪招也沒用,浪費不少精神和時間。

後來無意間發現可以把一個 .txt 檔複製進去,才發現原來會阻擋副檔名為 .zip 的複製動作,還真是鳥屎^@#!&

2022年10月23日 星期日

C++20 UTF-8 的轉換

 一直都停留在使用 C++17 的標準,其中一個重要原因是 C++20 對 UTF-8 有了一個明確的型別定義,一些舊有的程式都過不了 C++20 這關,所以就一直攔著。

不過後來發現可以用強制型別指示轉換(type&)這招來破解,這招用在其他地方會很危險,因編譯器會無條件通過轉換,不會給你任何警告訊息。

C++20 對於 UTF-8 提供兩個新東西,一個 char8_t 型別,另一個是 std::u8string 類別,也只有這樣而已。最重要的 STL 完全只能用 char 和 std::string。

2022年10月4日 星期二

2022年7月31日 星期日

2022年2月13日 星期日

[轉貼] 自然常數 e 為什麼這麼重要?

 轉貼自 自然常數e為什麼這麼重要? - 知乎 (zhihu.com)

為免日後失連,所以在這裡備份一份,並轉為繁體中文。

由於原作是用一般打宇作敍述,沒法表現出數學式,所以這裡用 LaTex 幫忙修訂,但不碓定是否完全正確,所以有錯誤的地方還請不吝指正。


2021年12月10日 星期五

建置 VScode 的 C++ 開發環境

 VScode 進化非常神速,就 C++ 而言搭配 CMake 延伸模組的支援,以往那些麻煩的設定可以拋諸腦後了。

首先到 CMake 下載並安裝最新版的 CMake。

再去抓最新版的 MinGW ,我抓的是 x86_64-posix-seh,解壓到 C:\x86_64-8.1.0-release-posix-seh-rt_v6-rev0,並將 C:\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\mingw64\bin 設定到環境變數 PATH,這點是必須的,因 VScode 會去找編譯器。