GnuCOBOL(OpenCOBOL)

今ではレガシーなシステムにしか使われてない感もあるが、所用で COBOL を使う機会があったのであれこれ書いてみる。

まず、以前は、COBOL ソースを純然たるバイナリに変換するコンパイラがメインだったように思うが、現在は C などとの連携が出来るコンパイラの方が便利。
というわけで、GnuCOBOL(かつての OpenCOBOL)は、単に COBOL ソースを C に変換し、そのまま gcc や clang に引き渡している。コンパイラというよりフロントエンドに近い。

ソースコードは、

sourceforge.net

にある。マニュアルはこちら。(なお、GitHub 上にもこちらにミラーっぽくあがっている)

 

 

C/C++ でサーバー

最近のモダンな JavaScript なぞ、サーバーサイドで使われることを前提としているからあんまり悩むことはないのだが、C/C++ でサーバを立てる場合、どうしても逡巡してしまう。

これが Java だったら、WildFly だの GrassFish だのといった Java EE 対応のアプリケーションサーバがあるので、それらの一つをチョイスすればいい。

では、C/C++ ではどうだろう?

(続く)


 

Gnu autotools 忘備録 - cofigure, make, make install を超えて-

最近は、Web Programming メインで C 系のツールの使い方があやふやになってきた。
今後も仕事で使うことは間違いないんで、おさらいしたことをまとめる。

 


Overview

ネット経由でソフト(パッケージ)をインストールする場合は、正直楽だ。

Mac であれば、homebrew などを使って
 brew install XXX
であっさりインストールできる。


問題は、ソースコードからインストールしなければならないとき。
たいていの場合、Makefile があるから
 configure
 make
 make install
でことが済んでしまうのだ。が、自分のつくったプロジェクトでこれをしようとすると Makefile を自分で書かなくてはならない。

さらにプロジェクトが複雑になれば Gnu の autotools を使わなくてないけない。

 

単純な Makefile

まずは、Makefile の基本。こういうときは Hello, World。

 hello.c 

//#include <stdio.h>
#include "hello.h"

int main(void)
{
printf("Hello!\n");
}

 

hello.h 

#include <stdio.h>

 

別にまとめて hello.c でもいいが、ヘッダを別にしたかったので。

これを Makefileコンパイルできるようにするにはこう書く。

Makefile

hello: hello.c hello.h
gcc hello.c -o hello

 

(続く) 

 

【参考】https://www.miraclelinux.com/tech-blog/0icygs

【参考】http://www.02.246.ne.jp/~torutk/cxx/automake/automake.html