1. 程式人生 > >將一個win32程式改成動態DLL

將一個win32程式改成動態DLL

在做專案的時候遇到的問題,就是本來需要的是動態DLL,但是先前在解決方案中新增的專案是“Win32”的,所以在編譯的時候,會提示出錯:

error LNK2019: 無法解析的外部符號 [email protected],該符號在函式 ___tmainCRTStartup 中被引用...

這個時候,一個方法是重新建一個DLL專案,然後把寫好的程式copy過去,只是嫌這種方法麻煩,而且,猜想“屬性”裡可能會有相應的引數可作調整更改。

於是問了度娘,發現的確是有解決方法的,下面就此做一簡要記錄:

第一步,需要更改Win32專案的屬性:屬性》》配置屬性》》常規》》配置型別,將其改為動態庫(.dll),如下圖

第二步:然後是 C/C++》》前處理器定義,將其改為“WIN32;_DEBUG;_WINDOWS;_USRDLL;XXX_EXPORTS;%(PreprocessorDefinitions)”,XXX是該專案的名稱且需大寫


第三步:在win32或console程式中載入動態DLL,在需要呼叫帶動態DLL原始檔(或標頭檔案)處,新增如下程式碼

“#pragma comment(lib,"XXX.lib")”, XXX表示的是動態庫的名稱路徑

相關推薦

一個win32程式動態DLL

在做專案的時候遇到的問題,就是本來需要的是動態DLL,但是先前在解決方案中新增的專案是“Win32”的,所以在編譯的時候,會提示出錯: error LNK2019: 無法解析的外部符號 [email protected],該符號在函式 ___tmainCRTSta

如何一個java程式打包一個可執行程式

可以把普通的Java程式做成真正的exe,也就是單一個exe就可以在沒有安裝JVM的機器上執行。這樣的工具常見的有JET和gcj.前者是收費的,而且做出來的exe還是需要一堆dll。推薦使用gcj.他有windows和Linux版,直接下載zip包,不需要安裝,裡面有不少例子,一些build的批處理檔案。

邏輯斯蒂迴歸能否解決非線性分類問題? 邏輯斯蒂迴歸提出時用來解決線型分類問題,其分離面是一個線型超平面wx+b,如果這個超平面改成非線性的,如x1^2+x2=0之類的非線性超平面來進行分類,是否也可

邏輯迴歸的模型引入了sigmoid函式對映,是非線性模型,但本質上又是一個線性迴歸模型,因為除去sigmoid對映函式關係,其他的步驟,演算法都是線性迴歸的。可以說,邏輯迴歸,都是以線性迴歸為理論支援的。 這裡講到的線性,是說模型關於係數一定是線性形式的 加入sigmoid對

cordova 一個web應用程式封裝app的框架

我接下來主要將如何搭建。 1.首先你需要下載幾樣東西 1.jdk. 2.android_SDK. 2.安裝這兩個,並配置環境變數 這裡jdk的環境變數配置我就不細說了。 android_SDK的環境變數配置 C:\Development\android-sdk\platf

結構體實現的簡易通訊錄動態的版本

之前實現的一次結構體型通訊錄電話本容量固定為1000,如果只需存50人,就浪費950的容量,如果存 2000人,容量就不夠了,所以這次動態開闢一個電話本容量。並且將之前的版本測試部分用函式指標陣列簡化完善一下。 之前版本(點選這裡) 程式碼如下: 1.標頭檔案部分: #

java程式---一個浮點數轉換人民幣讀法

程式碼如下: <span style="font-size:18px;">package test; import java.util.Scanner; //將輸入的浮點型錢數,轉成人民幣讀法 public class Num2Rmb { private

譚浩強 c程序設計 8.17用遞歸法一個整數n轉換字符串。例如,輸入486,應輸出字符串"486"。n的位數不確定,可以是任意位數的整數。

tco xsl bof hcl mku owb kit gym code 8.17用遞歸法將一個整數n轉換成字符串。例如,輸入486,應輸出字符串"486"。n的位數不確定,可以是任意位數的整數。 #include <stdio.h>char str1[20]

java 一個ip地址分割一個數組

代碼 一個數 數組 java str 測試 服務器 都是 其他 這個問題以前真還沒註意,好像記得分割過規律的字符串,但是不是像IP這樣是以"."為分割規律字符,而是其他的。 今天又用到類似功能,代碼寫好了也沒測試,直接上傳服務器,但是就是會報錯,之後看了日誌是ip分割部分

C 一個單鏈表拆3個迴圈連結串列,其中一個是純數字,一個純字母,一個其他字元

前面相關操作在這呢,這個函式依託於此 //結構體 typedef struct Node { ElementType data; struct Node * next; } LNode, * LinkNode; //將一個單鏈表拆成3個迴圈連結串列,其中一個是純數字

【經驗分享】如何一個PDF檔案拆分多個檔案

從事於辦公的夥伴每天都需要處理到各式各樣的辦公檔案,PDF格式的檔案就是其中的一種,有時候遇到一份PDF檔案頁面比較多,處理起來很麻煩的話我們該用什麼樣的方法呢?在這裡可以將一個PDF檔案拆分成多個檔案,這樣子就方便了很多。下面就將這種方法分享給大家!以供大家參考。   &n

HREE.JS 根據起始幀一個AnimationClip物件分割多個AnimationClip

THREE.JS 根據起始幀將一個AnimationClip物件分割成多個AnimationClip 因為從3dsMax裡面匯出的模型只支援一個動畫,如果需要對多個動畫進行單獨控制的話就必須將其切割成多個AnimationClip物件,其實原理跟陣列擷取是一樣的。

java一個JFrame介面分割多部分,每部分新增獨立背景圖片

現在,我要完成的目標是:建立了一個JFrame介面,我要分成兩部分,操作時兩部分完全獨立,互不影響,已完成的效果如下: 可以看到,我做的左邊是操作介面,右邊是顯示介面,左邊的背景我沒加,方法和右邊的是一樣的。 具體方法是這樣的,首先我建造兩個容器JPanel物件, 然後呼叫分割

靜態順序表動態順序表

注:本篇只是大概實現動態順序表,靜態順序表詳敘請參照https://blog.csdn.net/R_T_P_A_D/article/details/84189236 實現動態順序表,只需在靜態順序表上做兩個變化就可以實現: 首先,需要將靜態順序表裡面的巨集定義取消掉,因為這是靜態順序表中最不

如何暴力遞迴動態規劃?

暴力遞迴 1、把問題轉化為規模縮小了的同類問題的子問題 2、有明確的不需要繼續進行遞迴的終止條件 3、有當得到了子問題的結果之後的決策過程 4、不需要記錄每一個子問題的解 動態規劃 1、從暴力遞迴中來 2、將每一個子問題的解記錄下來,避免重複計算(這是動態規劃優於遞迴的本質原因)

元件化開發之04 如何一些靜態庫打包動態

筆者打造出來了5個基礎元件,滿懷信心準備大幹一場時候,發現業務元件用到支付寶 , 微信支付 SDK ,微博 SDK ,高德地圖 SDK 等靜態庫. a ,.framework 檔案時候,連結到元件時候報錯誤,而且還不容易解決,因為我整個工程都是 use_fram

oracle一個欄位拆分多個值(regexp_substr函式)

例: select regexp_substr(p.attributename, '[^,]+',1,level) c1 from tablename p connect by level &l

修改數據結構記錄,同級數據父子集數據

rda ptc console lte ret code 相同 reac ldr 有name存在的是父級數據,再根據deptCode相同來匹配到同類子集的數據放到父級裏面 this.getFatherData = this.list.filter((e

ubuntu下可執行程式打包deb包

最近的一個ubuntu下的專案需要提交測試驗收了,於是需要我們將程式打包。 打包的本質是將原始檔案壓縮與相應的控制命令繫結,最後進行軟體安裝的時候是將對應檔案解壓到指定目錄,根據我們提供的控制邏輯來進行安裝操作。 原來在windows下打包 我選擇採用了 advancedI

一個正整數分解質因數之積

/** * 檔名:Prime.java * 描述:將一個正整數分解成質因數之積 * 來源:網路 * 時間:2019.01.02 * 備註:終稿 * */ import java.util.*; public class Prime { public static void m

如何一個Maven專案轉化一個Eclipse專案

有時候我們需要將一個Maven專案匯入到Eclipse中,直接作為一個普通的eclipse專案來匯入是不行的,我們可以通過一個命令來實現:mvn eclipse:eclipse 1、 進入該Maven專案的目錄,該目錄下必須要有pom.xml檔案,否則是無法執