用户操作
[留言]  [发消息]  [加为好友] 
订阅我的博客
XML聚合    FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
Iacob的公告
文章分类
    存档

    原创  尝试在C语言里使用COBOL程序 收藏

     

    尝试在C语言里使用COBOL程序。


    一小段COBOL代码(注意正文要从每行第八个字符开始)

    1.        IDENTIFICATION DIVISION.
    2.        PROGRAM-ID. TestProc.
    3.        ENVIRONMENT DIVISION.
    4.        DATA DIVISION.
    5.        PROCEDURE DIVISION.
    6.       *下面就俗套了
    7.        DISPLAY "Hello world!".

    编译

    cobc test.cob

    生成 test.so。



    一小段C代码

    1. #include <stdio.h>
    2. #include <dlfcn.h>
    3. int main() {
    4.         void (*proc)();
    5.         void *dlptr;
    6.         dlptr = dlopen("./test.so", RTLD_LAZY);
    7.         if (dlptr == NULL) {
    8.                 printf("Dynamic library not found.");
    9.                 return 0xFF;
    10.         }
    11.         proc = dlsym(dlptr, "cob_init");
    12.         if (proc == NULL) {
    13.                 printf("Function %s entry not found.""cob_init");
    14.         }
    15.         proc();
    16.         proc = dlsym(dlptr, "TestProc");
    17.         if (proc == NULL) {
    18.                 printf("Function %s entry not found.""TestProc");
    19.         }
    20.         proc();
    21.         return 0;
    22. }

    编译

    gcc testlink.c -ldl

    生成a.out,将其运行後打印出COBOL程序里的“Hello world!”。


    这是一个非常简单的例子,对于操作LINKAGE SECTION的过程我以後会逐步尝试,而且我会尝试在Java JNI里调用这个COBOL程序。


    至少这样就可以在用C语言制作数据管理程序时,把操作文件和数据库的过程用COBOL来做,至少COBOL对文件和数据的操作比较让人放心。

    最新的程序我会更新在这里
    http://linuxfire.com.cn/firewiki/C_COBOL_Collaboration

    发表于 @ 2008年08月30日 17:03:00 | 评论( loading... ) | 编辑| 举报| 收藏

    旧一篇:尝试maven,感受Apache的蛮横

    • 发表评论
    • 评论内容:
    •  
    Copyright © Iacob
    Powered by CSDN Blog