原创 CentOS 7 安裝 Lua

下載lua源碼:wget http://www.lua.org/ftp/lua-5.1.5.tar.gz 解壓:tar xvzf lua-5.1.5.tar.gz 切換到lua目錄:cd lua-5.1.5 安裝相關的三方庫:yum in

原创 虛擬機VirtualBox下的CentOS 7開啓 ssh 連接

安裝openssh-server 檢查是否有安裝:yum list installed | grep openssh-server,如果有顯示內容,則已安裝,否則進行第2步 安裝openssh-server: yum install o

原创 VS 環境使用MySQL Connector C 6.1 連接數據庫

下載MySQL Connector/C,根據你的系統版本選擇下載ZIP ARCHIVE,下載鏈接 配置附加目錄和庫目錄 項目-->屬性-->配置屬性-->VC++目錄-包含目錄 中加入mysql Connect C文件的include目

原创 ExcelToLua使用配置安裝

下載安裝python 下載鏈接 選擇2.7的版本安裝 配置環境變量 下載安裝setuptools 下載鏈接 解壓 編譯:python setup.py build 安裝:python setup.py install 下載安裝xl

原创 CentOS 安裝Git 服務器

安裝git yum install -y git 創建git用戶 新建用戶:adduser git 設置密碼:passwd git 初始化git倉庫,路徑:/opt/repos/testgit.git 創建路徑:mkdir /o

原创 Lua 源碼分析之閉包Closure

        閉包是Lua語言編程一個重要而又常用的概念。它主要作用是在函數離開作用域後還可以訪問外部的臨時變量,這些變量稱爲upvalue。         閉包分爲兩種,分別CClosure和LClosure。它們都被封裝到一個Cl

原创 Lua 源碼分析之Table - Rehash過程

Lua的Table的內存結構主要分array part和hash part,它們倆的內存大小是動態變化的,如果空間不夠就需要分配更多的空間,如果空間利用率太少就需要縮減內存,這個過程叫做rehash。 現在來看看rehash是怎麼樣的過程

原创 Lua源碼之Table - 細說Hash部分

Lua設計裏面,Table是一個特別關鍵的部分。它可以表示很多的數據結構,可以是Array,可以是Map,可以根據自己的實現棧,隊列等等,使用起來方便。源碼裏面的設計顯得特別重要了,它是被很頻繁地使用,提高性能是設計者重中之中。 首先先看

原创 windows pthread 配置

下載pthread, 下載地址 項目配置(測試使用絕對路徑,最好跟據自己的項目修改成相對路徑): C/C++ 常規->附加包含目錄:D:\Project\third_party\pthreads\Pre-built.2\includ

原创 C++ 使用異或對字符串進行簡單加密

在很多場C++需要對字符串數據進行加密,可以增加一定的安全係數,例如在網絡傳輸的時候,防止抓包可以看到明文內容。 爲此做了一個使用異或做了簡單的加密方法,記錄一下,代碼如下: #include <string> #include <io

原创 在Visual Studio 2017使用Visual Leak Detector(vld)不顯示行號的設置

在安裝vld的時候,其中一步顯示只支持到vs 2015,很可惜作者沒有更新了 但是在vs 2017使用vld的時候,不會顯示行號,麻煩了,打到內存泄露卻不知道行號 原來是可以通過設置顯示的,方法如下: 項目屬性->鏈接器->所有選項->生

原创 Lua 源碼分析之Table

一、創建一個table(lapi.c, line:666) LUA_API void lua_createtable (lua_State *L, int narray, int nrec) {   Table *t;   lua_lo

原创 C++ 命令行啓動的參數傳遞

命令行啓動時,經常需要把參數傳遞到程序裏,代碼如下: #include <iostream> int main(int argc, char* argv[]) { for (int i = 0; i < argc; i++) {

原创 Lua 源碼分析之TValue

Lua數據結構設計確定了這個整體的設計理念,Lua所有的數據,一共有9種,都是通過TValue這個結構來存儲。Lua的9種基礎的數據類型有(lua.h:73): /* ** basic types */ #define LUA_TNON

原创 C++練習:用指針實現棧

使用C++的指針實現一個簡單版的棧 stack.h #ifndef stack_hpp #define stack_hpp #include <stdio.h> class Stack { public: Stack();