跳到主要內容

發表文章

目前顯示的是 9月, 2019的文章

[C++] g++ compile for Windows

How to compile executable binaries for Windows? First of all, install mingw-w64(for 64-bit Windows) sudo apt-get install mingw-w64 Then compile the source.cpp file, the command is: x86_64-w64-mingw32-g++ -static-libstdc++ -static-libgcc -static -o output.exe Source.cpp for 32-bit Windows, replace the "x86_64ㄦ-w64-mingw32-g++" with "i686-w64-mingw32-g++". The flag "-static-libstdc++" and "-static-libgcc" are for linking some standard library dependencies statically.

[SDL] First Program: Show Image

This is my first time using SDL. Install SDL2 for my Linux system: sudo apt-get install libsdl2-dev libsdl2-image-dev Now we can test our first SDL program. This program is pretty simple, I want to show an image as the background of a main window. In Linux system, #include <SDL2/SDL.h> as well as #include <SDL2/SDL_image.h> SDL_Init(SDL_INIT_VIDEO) should be called before initializing the main window. Using SDL_Surface for loading image, SDL_Renderer and SDL_Texture for rendering operation. Free memory. Code: #include <iostream> #include <SDL2/SDL.h> #include <SDL2/SDL_image.h> using namespace std; const int SCREEN_WIDTH = 800; const int SCREEN_HEIGHT = 600; int main( int argc, char** argv) { if( SDL_Init( SDL_INIT_VIDEO ) < 0 ) {     cout << " [Error] SDL initialization fail: " << SDL_GetError() << endl;         exit(1); } SDL_Window* main_win = SDL_CreateWindow( ...

[Python] Call by reference

Python 有 call by reference 嗎? 有的。在預設情況,傳入 mutable object 給一個函式,那個函式會將那個物件用傳參考的方式處理。 但是如果在函式內將物件的參考指向其他的地方,在這樣的情況下,不會改變傳入物件的內容的,因為 Reference Object 指向別的地方,並不會影響原本傳入物件指向的記憶體位置: 什麼是 mutable object? 在物件導向中,mutable object 就是指可變物件,在物件一生成時,物件內容還能改變。 Python 的 list 就是 mutable object,但 string 不是。 詳細的說明 參考這裡 。

[Python] 單引號,雙引號和三引號

在此解釋各種引號的意義。 雙引號跟單引號,在 Python 中的基本上沒差別,都可以代表字串: "This is a string" 'This is a string' 並且雙引號內可包含單引號,反之,如果用的是單引號,則單引號內可包含雙引號: "We call it 'Dog'...... " 'We call it "Dog"...... ' 三個雙引號,就可以直接輸入有換行的字串: """haha, this is a dog.""" 三個單引號要換行,就要輸入"\": '''haha, \ this is a dog.'''

[Python] dictionary 基本用法

Perl 有 hash,python 有 dictionary。 Dictionary 的用法,可以想成一個陣列裡面,每個元素裡面存的是一個 key 值,以及那個 key 值對應的 value。在 python terminal 可以測試以下程式,就可以了解 dictionary 使用方法: dict = {'name': 'Jack', 'gender': 'male'} print "name: ", dict['name'], " gender: ", dict['gender'] 執行結果: name:  Jack  gender:  male 判斷一個 value 是否存在: if 'Jack' in dict.values()   # exist -> return Ture 判斷一個 key 是否存在: if dict.has_key('name'):   # exist -> return True 初始化一個空的 dictionary: dict = {} 回傳某個特定的 value 的 key 值: 只能用 for 迴圈了... 如下: for key in dict:     if dict[key] == 'Jack':         print " I find: ", key 執行結果:  I find:  name 增加一個 item 在 dictionary 內: dict['new_key'] = 'item' 或者: dict.update({'new_key', 'item'})

[Vim] 自動備份,auto backup

在 vim 儲存某個檔案後,可以將更改前的檔案,備份成檔名結尾為波浪(即 “~” 符號,又稱為 tilde 符號)的備份檔。 要開啟這個功能,可在 .vimrc 內,輸入以下設定: "開啟自動備份設定: set backup  "設定備份資料夾: set backupdir=~/vimbackup/  "在備份檔名加上時間章戳: au BufWritePre * let &bex = '#' . strftime("%F.%H.%M")