国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

VSCode配置之C++ & SQLite3極簡配置方案

這篇具有很好參考價值的文章主要介紹了VSCode配置之C++ & SQLite3極簡配置方案。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

  1. 背景
    最近在學習《深入應(yīng)用C++11: 代碼優(yōu)化與工程級應(yīng)用》,其中第13章說到SQLite庫,查詢網(wǎng)上諸多教程,發(fā)現(xiàn)比較容易出現(xiàn)bug且配置較為麻煩,故記錄此次簡化版方案,以供參考。

  2. 軟件環(huán)境
    SQLite 3.42.0 版本(僅下載Source code即可)
    VSCode+CMake+SQLite Viewer
    VSCode配置之C++ & SQLite3極簡配置方案,C++,VSCode,vscode,c++,sqlite

  3. VSCode + SQLite文件目錄
    VSCode配置之C++ & SQLite3極簡配置方案,C++,VSCode,vscode,c++,sqlite
    (注:僅需左側(cè)紅色框內(nèi)容,其余均為編譯生成結(jié)果)

  4. 測試代碼文章來源地址http://www.zghlxwxcb.cn/news/detail-621986.html

#include<iostream>
#include<string>
#include"sqlite3.h"

using namespace std;

bool test_sqlite() {
  sqlite3* db_handle = nullptr;
    int result = sqlite3_open("test.db", &db_handle);
    if(result != SQLITE_OK) {
        sqlite3_close(db_handle);
        return false;
    }

    // create table
    const char* sql_create = "CREATE TABLE if not exists personTable(ID INTEGER NOT NULL, Name Text, Address Text);";
    result = sqlite3_exec(db_handle, sql_create, nullptr, nullptr, nullptr);

    // insert data
    // create stmt
    sqlite3_stmt* stmt = nullptr;
    const char* sql_insert = "INSERT INTO personTable(ID, Name, Address) VALUES(?, ?, ?);";
    sqlite3_prepare_v2(db_handle, sql_insert, strlen(sql_insert), &stmt, nullptr);
    
    // update data
    int id = 1;
    const char* name = "Sqlite3";
    const char* address = "Database";
    sqlite3_bind_int(stmt, 1, id);
    sqlite3_bind_text(stmt, 2, name, strlen(name), SQLITE_TRANSIENT);
    sqlite3_bind_text(stmt, 3, address, strlen(address), SQLITE_TRANSIENT);
    sqlite3_step(stmt);
    result = sqlite3_exec(db_handle, sql_insert, nullptr, nullptr, nullptr);

    // free stmt
    sqlite3_finalize(stmt);

    // close sqlite
    sqlite3_close(db_handle);
    return result = SQLITE_OK;
}

int main() {
    cout << test_sqlite() << endl;
    return 0;
}
  1. 外層CMakeLists.txt配置
cmake_minimum_required (VERSION 3.0)

PROJECT(sqlite3_demo)

set(CMAKE_BUILD_TYPE Release)

set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) 
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
include_directories(${PROJECT_SOURCE_DIR}/include)
link_directories(${PROJECT_SOURCE_DIR}/lib)
add_subdirectory(${PROJECT_SOURCE_DIR}/src)

  1. 內(nèi)層CMakeLists.txt配置
# cmake needs this line
SET(CMAKE_BUILD_TYPE "Release")

add_library(sqlite3 ../include/sqlite3)
add_executable(main main.cpp)
target_link_libraries(main sqlite3)
  1. 小結(jié)
    1)理解了CMake的編譯原理就不在需要諸如sqlite3.def,sqlite3.exe文件,通過手動編譯的方式,自動生成sqlite3.lib,更加實用便捷,且不需要調(diào)用vs studio的lib.exe等命令(需要管理員權(quán)限);
    2)SQLite提供了豐富的API,因此手動編譯源碼,方便函數(shù)的查詢和源碼的理解;
    3)SQLite的數(shù)據(jù)處理pipeline較為繁瑣,接下來將嘗試書中方法,進行二次封裝簡化。

到了這里,關(guān)于VSCode配置之C++ & SQLite3極簡配置方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Python數(shù)據(jù)庫模塊(sqlite3,SQLite3)

    創(chuàng)建數(shù)據(jù)庫:在控制臺sqlite3 name sqlite3.connect(database [,timeout ,other optional arguments]) 打開數(shù)據(jù)庫;如果指數(shù)據(jù)庫存在則返回一個連接對象,如果不存在則會創(chuàng)建一個數(shù)據(jù)庫; connection.cursor() 創(chuàng)建一個cursor; cursor.execute(sql) 執(zhí)行一個sql語句,該語句可以被參數(shù)化; connection.execut

    2024年03月19日
    瀏覽(27)
  • 【Sqlite3】maraidb和sqlite3部分命令操作區(qū)別

    maraidb和sqlite3部分命令操作區(qū)別記錄 在實現(xiàn)我的視頻點播系統(tǒng)項目時,我嘗試封裝了兩種數(shù)據(jù)庫的調(diào)用邏輯 mysql(maraidb) sqlite3 這里封裝sqlite3的原因是,sqlite3主要針對的就是 嵌入式 數(shù)據(jù)庫,其性能可能不如mysql,但是就好在可以 帶著走 。安裝也很方便,內(nèi)存占用相對于

    2024年02月09日
    瀏覽(20)
  • 【sqlite3】sqlite3在linux下使用sqlitebrowser工具實現(xiàn)數(shù)據(jù)可視化

    【sqlite3】sqlite3在linux下使用sqlitebrowser工具實現(xiàn)數(shù)據(jù)可視化

    1. ### install sqlitebrowser 安裝指令 通過工具打開數(shù)據(jù)庫 打開效果

    2024年02月01日
    瀏覽(19)
  • 02.sqlite3學習——嵌入式數(shù)據(jù)庫的基本要求和SQLite3的安裝

    02.sqlite3學習——嵌入式數(shù)據(jù)庫的基本要求和SQLite3的安裝

    目錄 嵌入式數(shù)據(jù)庫的基本要求和SQLite3的安裝 嵌入式數(shù)據(jù)庫的基本要求 常見嵌入式數(shù)據(jù)庫 sqlite3簡介 SQLite3編程接口模型 ubuntu 22.04下的SQLite安裝 (1)安裝SQLite3軟件 sudo apt-get install sqlite3 (2)安裝庫文件 sudo apt-get install libsqlite3-dev 安裝成功后輸入sqlite3查看 (3)安裝sqlite3可

    2024年02月11日
    瀏覽(29)
  • SQLite3快速入門:SQLite 是什么?如何用好 TA?

    SQLite 是一個開源 SQL 數(shù)據(jù)庫引擎 ,2021年也迎來了第三個大版本,作者計劃即日起創(chuàng)建《SQLite

    2023年04月18日
    瀏覽(15)
  • 常用 sqlite3 命令

    常用 sqlite3 命令

    ????????本次將向您講解 SQLite 編程人員所使用的簡單卻有用的命令。這些命令被稱為 SQLite 的點命令,這些命令的不同之處在于它們不以分號 ; 結(jié)束。 ????????讓我們在命令提示符下鍵入一個簡單的 sqlite3 命令,在 SQLite 命令提示符下,您可以使 用各種 SQLite 命令。

    2024年02月08日
    瀏覽(28)
  • sqlite3 插入數(shù)據(jù)

    最近有項目在用sqlite3,這個嵌入式數(shù)據(jù)庫,不是很熟練,連個插入數(shù)據(jù)的語句都得百度哈哈。 記錄下,加深記憶,給同樣小白的人看的,大牛沒必要在這耽誤時間。 我的需求是; 有個edgemgmt3.db的文件,需要插入條數(shù)據(jù)。 1.進入sqlite終端 進入SQLite3命令行工具。在終端中輸入

    2024年02月16日
    瀏覽(28)
  • SQLITE3 函數(shù)接口

    SQLITE3 函數(shù)接口

    sqlite3 接口的核心元素: 兩大對象,八大函數(shù); 其中兩個對象指的是: sqlite3 數(shù)據(jù)庫連接對象 ????????數(shù)據(jù)庫的連接句柄(數(shù)據(jù)庫的文件描述符)? 代表你打開的那個 sqlite3 的數(shù)據(jù)庫文件,后序?qū)?shù)據(jù)庫的操作都需要用到這個對象 sqlite3_stmt SQL 語句對象 ????????關(guān)系型數(shù)據(jù)庫

    2024年02月06日
    瀏覽(17)
  • SQlite3 編譯

    SQlite3 編譯

    參考博客:https://blog.csdn.net/flowerspring/article/details/121268403 1.下載C源碼以及def文件 https://www.sqlite.org/download.html 2. 下載完成之后解壓 sqlite-amalgamation 獲取C源碼,解壓 sqlite-dll-win32-xx 獲取里面的def文件。 3.新建sqlite3的空dll項目工程,將源上述源碼加入到工程,并且加入def模塊

    2024年02月11日
    瀏覽(18)
  • SQLite3基礎(chǔ)用法

    打開數(shù)據(jù)庫 使用命令行工具或SQLite客戶端工具打開一個SQLite數(shù)據(jù)庫文件,如: sqlite3 mydatabase.db 如果文件不存在,則會自動創(chuàng)建一個新的數(shù)據(jù)庫文件。 創(chuàng)建表格 使用CREATE TABLE命令創(chuàng)建一個新的表格,例如: CREATE TABLE users ( id INTEGER PRIMARY KEY, name TEXT, age INTEGER ); 上述語句創(chuàng)建

    2024年02月16日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包