はじめての拡張機能開発 — プログラミング言語 Ring 1.14 取扱説明書

Skip to content

# はじめての拡張機能開発

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