SilkTest循序漸進1 呼叫DLL函式

2021-06-18 04:55:54 字數 1799 閱讀 7348

昨天一位朋友希望我能講講如何在silktest中呼叫dll匯出的函式,說實話,我也沒有實際操作過,不過還是答應在有空時能夠給她乙個簡單的例子。今天晚上搗騰了半天終於調通了乙個非常非常簡單的例子,不過遠比我想像的困難,主要是好久沒碰vc了。現在時鐘指向11點,我爭取20分鐘內完成這篇文章。

廢話不多說,關於silktest中使用dll的基本介紹,參見silktest天天學系列4-在silktest中呼叫dll

今天我們的例子,就是編寫乙個dll,讓其匯出乙個函式calculate。該函式的功能是返回輸入int引數的兩倍。然後我要在silktest中呼叫該dll中的calculate函式,從而計算calculate(5)的值。

下面是例子的步驟:

1.開啟visual studio,我的是2003。新建乙個vc++的project,選擇型別為mfc dll

2.命名該project為helloworld,最後它應該生成乙個helloworld.dll

3.編輯標頭檔案helloworld.h,其內容如下:

#pragma once

#ifndef __afxwin_h__

#error include 'stdafx.h' before including this file for pch

#endif

#include "resource.h"        // main symbols

__declspec(dllexport) int calculate (const int x);         //c++ language

//extern "c" int pascal export calculate (const int x);  // c language

4.編輯源**檔案helloworld.cpp,其內容如下:

#include "stdafx.h"

#include "helloworld.h"

#ifdef _debug

#define new debug_new

#endif

// c++

__declspec(dllexport) int calculate (const int x)

// c language

/*extern "c" int pascal export calculate (const int x)

*/5. 編輯helloworld.def, 該檔案顯式指明了你要到處的函式名,這裡我們匯出calculate

; helloworld.def : declares the module parameters for the dll.

library      "helloworld"

exports

; explicit exports can go here

calculate

6. 編譯,在release目錄下得到乙個helloworld.dll

7.開啟silktest新建乙個project

8.新建乙個hello.inc檔案, 它的內容如下,注意引用dll時,請用全路徑

[-] dll "f:/vs2003/helloworld/release/helloworld.dll"

[ ]  int calculate(int i )

9.新建乙個指令碼檔案,它的內容如下

[ ] use "hello.inc"

[-] testcase test()

[ ] int i

[ ] i = calculate(5)

[ ] print(i)

10. 執行該指令碼檔案,它應該列印結果10

祝你順利!

Linux循序漸進 1

第一課 什麼是linux 簡單地說,linux是一套免費使用和自由傳播的類unix作業系統,它主要用於基於i ntel x86系列cpu的計算機上。這個系統是由全世界各地的成千上萬的程式設計師設計和實現 的。其目的是建立不受任何商品化軟體的版權制約的 全世界都能自由使用的unix相容 產品。linu...

oracle起步學習1 循序漸進

學習定要遵循循序漸進的規則,否則學到後面便會發現學習越來越吃力,因為之前的基礎不懂 oracle基礎學習要學會建表,但是建表之前必須會建表空間,會建使用者,因為乙個表是誰建的,建在哪個表空間都狠重要,我在嘗試的時候就遇到2個錯誤,但是後來解決了,在網上各位大蝦的指導下。問題 1.表建在哪個表空間2....

循序漸進學程式設計

軟體開發者是乙個日新月異的領域 it 中的大師,今天的程式設計方式與明天的程式設計或許截然不同,技術在不斷地革新,新語言 新平台的如雨後春筍般出現 更好的解決方案的冒出,因此我們需要跟得上節奏,我們沒有選擇,唯有努力提高自己。下面的幾點建議或許能幫助你成為乙個優秀地開發者。你是否聽說過 kaizen...