はじめての拡張機能開発

RingBeep は Windows API の beep() 関数を使用するシンプルな拡張機能の作例です。

収録先

この拡張機能は ring/extensions/ringbeep フォルダにあります。

拡張機能の作成手順

設定ファイルを記述します : ringbeep.cf

notepad ringbeep.cf

ringbeep.cf ファイルの内容

<code>
#include "windows.h"
</code>

int Beep(int dwFreq,int dwDuration)

実行します : gencode.bat は ringbeep.c を生成します。

gencode.bat

gencode.bat には Ring 拡張機能生成器を呼び出すための記述があります。

ring ..\codegen\parsec.ring ringbeep.cf ringbeep.c

拡張機能をビルドするには :

buildvc.bat

buildvc.bat には Visual C/C++ で拡張機能をビルドするための記述があります。

cls
call ../../src/locatevc.bat
cl /c /DEBUG ringbeep.c -I"..\..\include"
link /DEBUG ringbeep.obj  ..\..\lib\ring.lib kernel32.lib /DLL /OUT:ringbeep.dll ^
                                                        /SUBSYSTEM:CONSOLE,"5.01"
del ringbeep.obj

関数の動作検証

関数の動作検証をします。

ring test.ring

test.ring の内容:

loadlib("ringbeep.dll")

for f = 750 to 1000 step 50
        beep(f,300)
next