使用Lccwin32進行MySQL開發。 (轉)
使用Lcc進行My開發。
當前作者:王猛 (to:HeartIcy@163.com">HeartIcy@163.com)
建立日期:年2月11日
修訂版本:1.1
我是一個學生,或許是這輩子永遠都是一個學生。因為我從來沒想過我會成
為一代宗師!!^^||正因為我是學生,所謂我需要挑選對標準支援完整而且
容易獲得的免費。lccwin32對標準的支援度非常高,並且擴充套件性也很
強勁。通常遵循C89或C99標準編寫的開發庫,頭部分基本不用修改,只
要轉換庫檔案(.lib)的格式就可以用了。
我將透過一個簡單的例子演示如何透過Lccwin32進行的開發。重點的地
方不是程式碼部分,而是編譯器的lccwin32本身的編輯器部分對中文的
支援等於0,並且在標頭檔案引用路徑設定上存在,我們要手工處理!這也是
我認為寫這篇筆記的重要性。(我從來不認為我寫的東西是什麼文章,我還沒
那種分量。^^||)
剛才提到了lccwin32編輯器有bug,我們需要手工修改編譯器產生的makefile
檔案否則根本無法編譯。
假設你是採用預設路徑,則lccwin32編輯器自動產生的makefile檔案中應該包
含類似子段:
CFLAGS=-I"c:lccinclude" -O -p6 -unused -ansic
我們如果直接從編輯器新增多標頭檔案引用路徑會產生錯誤,因此我們手工新增
路徑變成下邊這種形式:
CFLAGS=-I"c:lccinclude" -I"c:mysqlinclude" -O -p6 -unused -ansic
ok!第一個問題標頭檔案引用解決了。
現在我們開始解決下一個問題庫檔案(.lib)。的mysql庫檔案採用vc5編
譯,我們要先利用lccwin32附帶的庫轉換工具進行轉化。轉換之後lccwin32就可
以正常識別此庫檔案。那麼重要的問題是我們如何引入庫檔案。Lccwin32中我們
可以使用兩種方法,第一種方法就是從編輯器的庫引用中直接敲入庫名稱;另外
一種就是利用編譯器的預偽指令#pragma lib "庫"。我推薦採用第二種,
因為開發過程中我們需要debug版庫檔案進行debuger,實際發行中為了我們
則需要用opt版生成最終發行檔案,在lccwin32這套環境中直接在編輯器中進行設
置是不明智的!
現在我們解決了標頭檔案和庫檔案的引用,實際上已經沒有什麼問題。一個簡簡單
單的例子如下:
#pragma lib
#include
#include "mysql.h"
MYSQL *myData;
int main(int argc, char *argv[])
{
char userid[20];
strcpy(userid, ""); // 賬號
char pass[20];
strcpy(password, ""); // 密碼
char host[20];
strcpy(host, "localhost"); // 主機
char Name[10];
strcpy(dbName, "test"); //
if ( (myData = mysql_init((MYSQL*) 0)) &&
mysql_real_connect(myData, host, userid, password, dbName, MYSQL_PORT, NULL, 0))
printf("Mysql readyn");
else
exit(0);
mysql_close( myData ) ;
return 1;
}
如果完全依照本文,已經產生一個3.03kb或13.03kb(debuger)的可以檔案。順便說,
我不知道現在還有比拼產生的可執行檔案體積不。mysql官方例程用lccwin32編譯後體積
只有vc產生的可執行檔案大小的1/5!
** 適用範圍MySQL3.23.x以上 ( )
** lccwin32 3.2以上 ( )
** 如果您有什麼問題,可以透過電子和我進行討論。好運!
** 本文件遵循美國自由基金會通用文件許可釋出 **
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-992547/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 怎樣使用AJAX進行應用程式開發(轉)
- 使用Devstack進行開發dev
- 使用容器Docker進行開發Docker
- 使用 Devstack 進行開發dev
- 使用eclipse 進行 Cesium 開發Eclipse
- 使用 .NET 進行遊戲開發遊戲開發
- 使用API進行區塊鏈開發API區塊鏈
- 使用 go kit進行微服務開發Go微服務
- Vue使用SCSS進行模組化開發VueCSS
- 使用Python玩轉WMI進行Win32api/com進行Windows程式設計開發PythonWin32APIWindows程式設計
- 是否使用TDD(測試驅動開發)進行UI開發UI
- VSCode使用LSP進行Swift開發VSCodeSwift
- 使用 Docker 和 Laradock 進行 PHP 開發DockerPHP
- 使用ES6進行開發的思考
- 使用keil進行stm32的開發
- 淺談使用 PHP 進行手機 APP 開發(API 介面開發)PHPAPPAPI
- Zend Studio使用教程:使用PHP 7進行開發(二)PHP
- 使用 Eclipse 在 Fedora 上進行 PHP 開發EclipsePHP
- 如何在Windows上使用Python進行開發WindowsPython
- win 環境使用easyswoole利用docker進行開發Docker
- Minikube:使用 Kubernetes 進行本地開發
- 使用Typescript進行結構性開發(建立Table)TypeScript
- 如何使用Docker進行Java入門級開發DockerJava
- 使用MEAN進行現代化WEB開發Web
- 使用Mysql工具進行資料清洗MySql
- 使用 Kotlin + Spring Boot 進行後端開發KotlinSpring Boot後端
- Kotlin 之旅6 使用Kotlin進行DSL開發Kotlin
- 【iOS開發】使用iMazing進行沙盒除錯iOS除錯
- 使用Jdon Framework進行模型驅動軟體開發Framework模型
- MySQL使用event進行自動分表MySql
- 使用tpcc-mysql對mysql進行TPCC效能測試MySql
- windows 遠端連線Linux進行開發與除錯MySQLWindowsLinux除錯MySql
- 應用反射進行開發反射
- 用Delphi進行word開發
- 進行佛家專案開發
- dotnet core使用開源元件FastHttpApi進行web應用開發元件ASTHTTPAPIWeb
- 使用APT對redhat進行更新(轉)APTRedhat
- Android NDK開發(二) 使用ndk-build構建工具進行NDK開發AndroidUI