0

Ubuntu で Code::Blocks を使用して動的ライブラリを作成しようとしています。次のファイルを作成しました:
1. main.c

    #include "main.h"
    #include <stdio.h>
    #include <stdlib.h>

    void _scan_file (char s[100], Plong a)
    {
        FILE *f;
        f = fopen(s, "r");
        int i = 3;
        char q[MaxSize + 4];
        while (fread(&q[i++], sizeof(char), 1, f)){}
        --i;
        int k = 0;
        if (q[3] == '-' || q[3] == '+')
        {
            a -> sign = q[3];
            q[3] = '0';
        }
        else
            a -> sign = '+';
        i--;
        q[0] = q[1] = q[2] = '0';
        int j;
        for (j = i; j >= 3; j -= 4)
        {
            int p;
            for (p = 3; p >= 0; p--)
                if (q[j-p] <= '9' && q[j-p] >= '0')
                    a -> num[k] = a -> num[k] * 10 + q[j - p] - 48;
            ++k;
        }
        if (a -> num[--k] == 0)
        {
            a -> len = k;
        }
        else
            a -> len = k + 1;
        fclose(f);
    }
  1. main.h

    #ifndef MAIN_H_INCLUDED
    #define MAIN_H_INCLUDED
    
    #include <stdio.h>
    #include <stdlib.h>
    const int MaxSize = 1000;
    const int _Base = 10000;
    const int Max_Pos = 4;
    
    typedef int l_int;
    struct long_num
    {
        int len;
        char sign;   
        l_int num[];
    };
    
    typedef struct long_num Llong;
    typedef Llong * Plong;
    
    extern void _scan_file (char *s, Plong a);
    
    
    #endif 
    

しかし、この Code::Blocks を実行すると、*.so ファイルが作成されません。

4

0 に答える 0