[KeTCindy 00339] Re: gccの利用

Atsushi Yano yano @ libe.nara-k.ac.jp
2019年 1月 23日 (水) 08:42:03 JST


高遠先生

実行した結果が以下になります。

test.c: In function ‘main’:
test.c:13:20: warning: ‘sprintf’ may write a terminating nul past the end
of the destination [-Wformat-overflow=]
   sprintf(var,"%s%d",var,ch);
                    ^
test.c:13:3: note: ‘sprintf’ output between 2 and 26 bytes into a
destination of size 20
   sprintf(var,"%s%d",var,ch);
   ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/ld: /tmp/cceQ4CcD.o: in function `surffun':
test.c:(.text+0x2f): undefined reference to `cos'
/usr/bin/ld: test.c:(.text+0x46): undefined reference to `sin'
/usr/bin/ld: test.c:(.text+0x61): undefined reference to `cos'
/usr/bin/ld: test.c:(.text+0x73): undefined reference to `pow'
/usr/bin/ld: test.c:(.text+0x82): undefined reference to `sin'
/usr/bin/ld: test.c:(.text+0x94): undefined reference to `pow'
collect2: error: ld returned 1 exit status


2019年1月23日(水) 7:58 Setsuo Takato <takato @ phar.toho-u.ac.jp>:

> 高遠です.
>
> gccの仕様の違いで,sprintf,数学関数が動いていないようです.
>
> 以下の内容のテスト用のtest.c(添付します)をfigに入れて
> ターミナルで次の2行を実行して下さいますか.
>
> cd  (パス名)
> gcc -lm test.c -o main.out
>
>
> ----------------
> test.c
> ----------------
>
> #include <stdio.h>
> #include <math.h>
> #include <stdlib.h>
> #include <string.h>
> void surffun(short ch,double u, double v, double p[3]){
>   switch(ch){
>     case 1 :
> p[0]=u*cos(v);p[1]=u*sin(v);p[2]=4.0-(pow(u*cos(v),2.0)+pow(u*sin(v),2.0));break;
>   }
> }
> int main(void){
>   char var[20]="wire3d";
>   short ch=1;
>   sprintf(var,"%s%d",var,ch);
>   printf("%s\n",var);
>   return 0;
> }
>
>
> 2019/01/23 7:18、Atsushi Yano <yano @ libe.nara-k.ac.jp>のメール:
>
> 高遠先生
>
> おはようございます、矢野です。
> なるほど、gccのところで詰まってるようなのですね。
>
> ターミナルを立ち上げて,kc.shの2行目と3行目を1つずつ実行してくださいますか.
>
> 実行して出てきた結果が先ほど添付したerror.txtになります。
> (出力が長すぎるため、テキストファイルを添付する形にさせてもらっています)
> ご確認の程よろしくお願いいたします。
>
> 矢野 充志
>
>
> 2019年1月23日(水) 7:02 Setsuo Takato <takato @ phar.toho-u.ac.jp>:
>
>> 高遠です.
>>
>> おはようございます.
>>
>>
>> Setfiles("");
>> Setparent("");
>> の文が入っていたためでした。
>> 見当違いなことを言ってしまいすみません。
>>
>>
>> そうだったのですか.
>> 了解しました.
>>
>>
>> 今回も前回と同じ内容かもしれませんが、標準エラー出力error.txt等、念の為 情報を載せておきます。
>>
>> fig内のファイル一覧:
>> ├── errormessageR.txt
>> ├── kc.sh
>> ├── s0901paraboloid1.c
>> ├── s0901paraboloid1end.txt
>> ├── s0901paraboloid1header.h
>> ├── s0901paraboloidcrvsf1.r
>> ├── s0901paraboloidcrvsf1.txt
>> ├── s0901paraboloidcrvsf1end.txt
>> ├── s0901paraboloidsfbd1.Rdata
>> ├── s0901paraboloidsfbd1.r
>> ├── s0901paraboloidsfbd1.txt
>> └── s0901paraboloidsfbd1end.txt
>>
>>
>> こちらで試したときのfigの中身は
>>
>> s0901paraboloidax3d.dat
>> s0901paraboloid1end.txt
>> s0901paraboloid1.txt
>> main.out
>> kc.command
>> s0901paraboloid1.c
>> s0901paraboloid1header.h
>>
>> です.
>> 比べてみると
>> 1)Rの関連ファイルが混ざっています.
>> errormessageR.txt,s0901paraboloidsfbd1.Rdata,s0901paraboloidsfbd1.r
>>
>> 2)gccが実行されてできるmain.outがありません.
>> 3)main.outが実行されてできるdatファイルがありません
>>
>> また,kc.command (kc.shと同じ)の中身は
>>
>> #!/bin/sh
>> cd "/Users/takatoosetsuo/ketcindy/samples/s09surfaceC/fig"
>> gcc -lm s0901paraboloid1.c -o main.out
>> ./main.out
>> echo ////>s0901paraboloid1end.txt
>> exit 0
>>
>> で,
>>
>>
>> kc.sh
>>
>> #!/bin/sh
>> cd "/home/atsushi/home/cinderella/samples/s09surfaceC/fig"
>> gcc -lm s0901paraboloid1.c -o main.out
>> ./main.out
>> echo ////>s0901paraboloid1end.txt
>> exit 0
>>
>>
>> と同じです.
>> ということは,3行目のgccが実行されていないようです.
>> (gccのパスか,引数とパラメータの与え方に問題がある可能性があります)
>> ターミナルを立ち上げて,kc.shの2行目と3行目を1つずつ実行して
>> くださいますか.
>>
>>
>> 2019年1月22日(火) 21:52 Atsushi Yano <yano @ libe.nara-k.ac.jp>:
>>
>>> 高遠先生
>>>
>>>
>>> s0901paraboloid.cdyを(ExeccmdC("1");をコメントアウトした状態の初期の状態で)実行したときに出力されたファイルは以下の通りです:
>>>
>>> ├── crvsf1.r
>>> ├── crvsf1.txt
>>> ├── crvsf1end.txt
>>> ├── errormessageR.txt
>>> ├── kc.sh
>>> ├── sfbd1.Rdata
>>> ├── sfbd1.r
>>> ├── sfbd1.txt
>>> └── sfbd1end.txt
>>>
>>> kc.shは
>>>
>>> #!/bin/sh
>>> cd "/home/atsushi/home/cinderella/samples/s09surfaceC/fig"
>>> R  --vanilla --slave < crvsf1.r 2> errormessageR.txt
>>> exit 0
>>>
>>> となりました。
>>> ExeccmdC("1");をアンコメントすると、1.cなどが出てくるようです。
>>>
>>> 矢野 充志
>>>
>>>
>>> 2019年1月22日(火) 19:52 Setsuo Takato <takato @ phar.toho-u.ac.jp>:
>>>
>>>> 高遠です.
>>>>
>>>> ご報告をありがとうございます.
>>>> おかげさまで,別のバグが見つかりました.
>>>> これについては,これから直します.
>>>>
>>>> まずは,
>>>> s0901paraboloid.cdy
>>>> を実行してみて下さい.
>>>>
>>>> Macの場合,figには,
>>>> s0901paraboloid1end.txt
>>>> s0901paraboloid1.txt
>>>> main.out
>>>> kc.command
>>>> s0901paraboloid1.c
>>>> s0901paraboloid1header.h
>>>> s0901paraboloidax3d.dat
>>>> ができます.kc.commandはkc.sh <http://kc.xn--commandkc-hg4h.sh/>と同じです.
>>>>
>>>> 送っていただいた一覧で
>>>> 単に 1.c, … となっているのが変です.
>>>> 上のs0901paraboloid.cdyを試していただけますか.
>>>>
>>>>
>>>> 2019/01/22 19:17、Atsushi Yano <yano @ libe.nara-k.ac.jp>のメール:
>>>>
>>>> 高遠先生
>>>>
>>>> 丁寧なご回答ありがとうございます。
>>>>
>>>> サンプルファイルのs09surfaceC/s0901paraboloid.cdyを実行しました。
>>>> (ExeccmdC("1");はアンコメントしています)
>>>>
>>>> 1)figフォルダの中に,Windowsと同様なファイルができているか.
>>>>
>>>> Windowsとほぼ同様だと思います。空のerrormessageR.txtがいつもできるくらいです。
>>>> 以下が出力されたファイルの一覧です:
>>>> ├── 1.c
>>>> ├── 1end.txt
>>>> ├── 1header.h
>>>> ├── crvsf1.r
>>>> ├── crvsf1.txt
>>>> ├── crvsf1end.txt
>>>> ├── errormessageR.txt
>>>> ├── kc.sh
>>>> ├── sfbd1.Rdata
>>>> ├── sfbd1.r
>>>> ├── sfbd1.txt
>>>> └── sfbd1end.txt
>>>>
>>>> 2)kc.shができているか.
>>>>
>>>> できています。
>>>>
>>>> #!/bin/sh
>>>> cd "/home/atsushi/home/cinderella/samples/s09surfaceC/fig"
>>>> gcc -lm 1.c -o main.out
>>>> ./main.out
>>>> echo ////>1end.txt
>>>> exit 0
>>>>
>>>>
>>>>> 3)kc.shを1行ずつ実行したとき,どこで引っかかるか
>>>>
>>>> gcc -lm 1.c -o main.out とすると、エラーが出ます。
>>>> 標準エラー出力error.txtを添付させていただきます。
>>>>
>>>> 矢野 充志
>>>>
>>>>
>>>>
>>>>
>>>> 2019年1月22日(火) 17:40 Setsuo Takato <takato @ phar.toho-u.ac.jp>:
>>>>
>>>>> 高遠です.
>>>>>
>>>>> Linuxでの動作確認をありがとうございます.
>>>>> こちらではチェックできないので助かります.
>>>>>
>>>>> 1)figフォルダの中に,Windowsと同様なファイルができているか.
>>>>> 2)kc.shができているか.
>>>>> 3)kc.shを1行ずつ実行したとき,どこで引っかかるか
>>>>>
>>>>> を調べていただけますか.
>>>>> よろしくお願いします.
>>>>>
>>>>>
>>>>> 2019/01/22 16:42、Atsushi Yano <yano @ libe.nara-k.ac.jp>のメール:
>>>>>
>>>>> 高遠先生
>>>>>
>>>>> 早速のご返信ありがとうございます。
>>>>> アンコメントしたのですが、うまく行きません。
>>>>> パスも問題ないと思います。
>>>>>
>>>>> Windows・MinGWで試してみたのですが、速いですね!
>>>>> Scilab(Ketpic)のときは考えられませんでした。
>>>>>
>>>>> 矢野 充志
>>>>>
>>>>>
>>>>> 2019年1月22日(火) 14:03 Setsuo Takato <takato @ phar.toho-u.ac.jp>:
>>>>>
>>>>>> 高遠です.
>>>>>>
>>>>>> お試しいただいてありがとうございます.
>>>>>> gccを利用しているサンプルは,s09surfaceCです.
>>>>>> ExeccmdCをコメントアウトしていますが,
>>>>>> gccがインストール済の場合は,アンコメントしてください.
>>>>>> また,必要な場合は,gccのパスを確認してください.
>>>>>>
>>>>>> 2019/01/22 13:54、Atsushi Yano <yano @ libe.nara-k.ac.jp>のメール:
>>>>>>
>>>>>> たびたび失礼します、奈良高専の矢野充志と申します。
>>>>>>
>>>>>> 空間図形も扱いたく、サンプルのs0901paraboloid.cdyなども動かしてみたのですが、
>>>>>> おそらくgccは利用されていなくて、Rのみを使って計算しているようなのですが、
>>>>>> gccを利用するための設定はあるのでしょうか?
>>>>>> 描画はされるのですが、計算に時間がずいぶんとかかっている状態です。
>>>>>> また、Startsurf()は現在は使われていない関数なのでしょうか?
>>>>>>
>>>>>> 環境はUbuntu18.10、KeTCindyのバージョンは20181225.0(GitHub)、
>>>>>> gccのバージョンは8.2.0です。
>>>>>>
>>>>>> 矢野 充志
>>>>>> _______________________________________________
>>>>>> Ketcindy mailing list
>>>>>> Ketcindy @ ketpic.com
>>>>>> http://lists.ketpic.com/mailman/listinfo/ketcindy
>>>>>>
>>>>>>
>>>>>> *******************************************
>>>>>>    高遠 節夫(たかとおせつお)
>>>>>>        東邦大学理学部(訪問教授)
>>>>>>        KETpic開発センター
>>>>>>        DL : CTAN > ketcindy
>>>>>>        ML : ketpic.com > Link List
>>>>>> ============================
>>>>>>
>>>>>> _______________________________________________
>>>>>> Ketcindy mailing list
>>>>>> Ketcindy @ ketpic.com
>>>>>> http://lists.ketpic.com/mailman/listinfo/ketcindy
>>>>>>
>>>>> _______________________________________________
>>>>> Ketcindy mailing list
>>>>> Ketcindy @ ketpic.com
>>>>> http://lists.ketpic.com/mailman/listinfo/ketcindy
>>>>>
>>>>>
>>>>> *******************************************
>>>>>    高遠 節夫(たかとおせつお)
>>>>>        東邦大学理学部(訪問教授)
>>>>>        KETpic開発センター
>>>>>        DL : CTAN > ketcindy
>>>>>        ML : ketpic.com > Link List
>>>>> ============================
>>>>>
>>>>> _______________________________________________
>>>>> Ketcindy mailing list
>>>>> Ketcindy @ ketpic.com
>>>>> http://lists.ketpic.com/mailman/listinfo/ketcindy
>>>>>
>>>> <error.txt>_______________________________________________
>>>> Ketcindy mailing list
>>>> Ketcindy @ ketpic.com
>>>> http://lists.ketpic.com/mailman/listinfo/ketcindy
>>>>
>>>>
>>>> *******************************************
>>>>    高遠 節夫(たかとおせつお)
>>>>        東邦大学理学部(訪問教授)
>>>>        KETpic開発センター
>>>>        DL : CTAN > ketcindy
>>>>        ML : ketpic.com > Link List
>>>> ============================
>>>>
>>>> _______________________________________________
>>>> Ketcindy mailing list
>>>> Ketcindy @ ketpic.com
>>>> http://lists.ketpic.com/mailman/listinfo/ketcindy
>>>>
>>> <error.txt>_______________________________________________
>> Ketcindy mailing list
>> Ketcindy @ ketpic.com
>> http://lists.ketpic.com/mailman/listinfo/ketcindy
>>
>>
>> *******************************************
>>    高遠 節夫(たかとおせつお)
>>        東邦大学理学部(訪問教授)
>>        KETpic開発センター
>>        DL : CTAN > ketcindy
>>        ML : ketpic.com > Link List
>> ============================
>>
>> _______________________________________________
>> Ketcindy mailing list
>> Ketcindy @ ketpic.com
>> http://lists.ketpic.com/mailman/listinfo/ketcindy
>>
> _______________________________________________
> Ketcindy mailing list
> Ketcindy @ ketpic.com
> http://lists.ketpic.com/mailman/listinfo/ketcindy
>
>
> *******************************************
>    高遠 節夫(たかとおせつお)
>        東邦大学理学部(訪問教授)
>        KETpic開発センター
>        DL : CTAN > ketcindy
>        ML : ketpic.com > Link List
> ============================
>
> _______________________________________________
> Ketcindy mailing list
> Ketcindy @ ketpic.com
> http://lists.ketpic.com/mailman/listinfo/ketcindy
>
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: http://lists.ketpic.com/pipermail/ketcindy/attachments/20190123/e05d6492/attachment-0001.html 


Ketcindy メーリングリストの案内