[KeTCindy 00343] Re: gccの利用

Setsuo Takato takato @ phar.toho-u.ac.jp
2019年 1月 23日 (水) 13:58:21 JST


高遠です.

動作確認をありがとうございます.
おかげさまで,sprintfについて修正方法が見つかりました.
もう1つの関数定義について,
お手数ですが,添付のtest.cとtest2.cを試していただけますか.
test.cはswitch文,test2.cはifで場合分けしています.
  cd (path);
  gcc -lm test.c (test2.c) -o main.out
  ./main.out
でお願いします.



> 2019/01/23 13:09、Atsushi Yano <yano @ libe.nara-k.ac.jp>のメール:
> 
> 度々すみません、言葉足らずでした。
> 
> lmオプションを付けても、付けなくても実行時にエラーは出ず、
> ./main.outは
> wire3d1
> 0.479426
> を返してくれます。
> 
> 矢野 充志
> 
> 
> 2019年1月23日(水) 13:02 Atsushi Yano <yano @ libe.nara-k.ac.jp <mailto:yano @ libe.nara-k.ac.jp>>:
> 高遠先生
> 
> 返信ありがとうございます。
> 実行すると、何もエラーが出ませんでした。
> 
> 矢野 充志
> 
> 2019年1月23日(水) 8:59 Setsuo Takato <takato @ phar.toho-u.ac.jp <mailto:takato @ phar.toho-u.ac.jp>>:
> 高遠です.
> 
> やはり,この辺ですね.
> 
> test.cを少し修正しました.
> こちらでもう一度試して下さい.
> 
> #include <stdio.h>
> #include <math.h>
> #include <stdlib.h>
> #include <string.h>
> int main(void){
>   char varall[20];
>   char var[]="wire3d";
>   short ch=1;
>   sprintf(varall,"%s%d",var,ch);
>   printf("%s\n",varall);
>   printf("%f\n",sin(0.5));
>   return 0;
> }
> 
> また,gccの -lm オプションをとって実行してみて下さい.
> gcc test.c -o main.out
> 
> 
> 
>> 2019/01/23 8:42、Atsushi Yano <yano @ libe.nara-k.ac.jp <mailto:yano @ libe.nara-k.ac.jp>>のメール:
>> 
>> 高遠先生
>> 
>> 実行した結果が以下になります。
>> 
>> 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 <mailto: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 <mailto: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 <mailto: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 <mailto: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 <mailto: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 <mailto: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 <mailto: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 <mailto:yano @ libe.nara-k.ac.jp>>のメール:
>>>>>> 
>>>>>> 高遠先生
>>>>>> 
>>>>>> 早速のご返信ありがとうございます。
>>>>>> アンコメントしたのですが、うまく行きません。
>>>>>> パスも問題ないと思います。
>>>>>> 
>>>>>> Windows・MinGWで試してみたのですが、速いですね!
>>>>>> Scilab(Ketpic)のときは考えられませんでした。
>>>>>> 
>>>>>> 矢野 充志
>>>>>> 
>>>>>> 
>>>>>> 2019年1月22日(火) 14:03 Setsuo Takato <takato @ phar.toho-u.ac.jp <mailto:takato @ phar.toho-u.ac.jp>>:
>>>>>> 高遠です.
>>>>>> 
>>>>>> お試しいただいてありがとうございます.
>>>>>> gccを利用しているサンプルは,s09surfaceCです.
>>>>>> ExeccmdCをコメントアウトしていますが,
>>>>>> gccがインストール済の場合は,アンコメントしてください.
>>>>>> また,必要な場合は,gccのパスを確認してください.
>>>>>> 
>>>>>>> 2019/01/22 13:54、Atsushi Yano <yano @ libe.nara-k.ac.jp <mailto: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 <mailto:Ketcindy @ ketpic.com>
>>>>>>> http://lists.ketpic.com/mailman/listinfo/ketcindy <http://lists.ketpic.com/mailman/listinfo/ketcindy>
>>>>>> 
>>>>>> *******************************************
>>>>>>    高遠 節夫(たかとおせつお)
>>>>>>        東邦大学理学部(訪問教授)
>>>>>>        KETpic開発センター    
>>>>>>        DL : CTAN > ketcindy
>>>>>>        ML : ketpic.com <http://ketpic.com/> > Link List
>>>>>> ============================
>>>>>> 
>>>>>> _______________________________________________
>>>>>> Ketcindy mailing list
>>>>>> Ketcindy @ ketpic.com <mailto:Ketcindy @ ketpic.com>
>>>>>> http://lists.ketpic.com/mailman/listinfo/ketcindy <http://lists.ketpic.com/mailman/listinfo/ketcindy>
>>>>>> _______________________________________________
>>>>>> Ketcindy mailing list
>>>>>> Ketcindy @ ketpic.com <mailto:Ketcindy @ ketpic.com>
>>>>>> http://lists.ketpic.com/mailman/listinfo/ketcindy <http://lists.ketpic.com/mailman/listinfo/ketcindy>
>>>>> 
>>>>> *******************************************
>>>>>    高遠 節夫(たかとおせつお)
>>>>>        東邦大学理学部(訪問教授)
>>>>>        KETpic開発センター    
>>>>>        DL : CTAN > ketcindy
>>>>>        ML : ketpic.com <http://ketpic.com/> > Link List
>>>>> ============================
>>>>> 
>>>>> _______________________________________________
>>>>> Ketcindy mailing list
>>>>> Ketcindy @ ketpic.com <mailto:Ketcindy @ ketpic.com>
>>>>> http://lists.ketpic.com/mailman/listinfo/ketcindy <http://lists.ketpic.com/mailman/listinfo/ketcindy>
>>>>> <error.txt>_______________________________________________
>>>>> Ketcindy mailing list
>>>>> Ketcindy @ ketpic.com <mailto:Ketcindy @ ketpic.com>
>>>>> http://lists.ketpic.com/mailman/listinfo/ketcindy <http://lists.ketpic.com/mailman/listinfo/ketcindy>
>>>> 
>>>> *******************************************
>>>>    高遠 節夫(たかとおせつお)
>>>>        東邦大学理学部(訪問教授)
>>>>        KETpic開発センター    
>>>>        DL : CTAN > ketcindy
>>>>        ML : ketpic.com <http://ketpic.com/> > Link List
>>>> ============================
>>>> 
>>>> _______________________________________________
>>>> Ketcindy mailing list
>>>> Ketcindy @ ketpic.com <mailto:Ketcindy @ ketpic.com>
>>>> http://lists.ketpic.com/mailman/listinfo/ketcindy <http://lists.ketpic.com/mailman/listinfo/ketcindy>
>>>> <error.txt>_______________________________________________
>>>> Ketcindy mailing list
>>>> Ketcindy @ ketpic.com <mailto:Ketcindy @ ketpic.com>
>>>> http://lists.ketpic.com/mailman/listinfo/ketcindy <http://lists.ketpic.com/mailman/listinfo/ketcindy>
>>> 
>>> *******************************************
>>>    高遠 節夫(たかとおせつお)
>>>        東邦大学理学部(訪問教授)
>>>        KETpic開発センター    
>>>        DL : CTAN > ketcindy
>>>        ML : ketpic.com <http://ketpic.com/> > Link List
>>> ============================
>>> 
>>> _______________________________________________
>>> Ketcindy mailing list
>>> Ketcindy @ ketpic.com <mailto:Ketcindy @ ketpic.com>
>>> http://lists.ketpic.com/mailman/listinfo/ketcindy <http://lists.ketpic.com/mailman/listinfo/ketcindy>
>>> _______________________________________________
>>> Ketcindy mailing list
>>> Ketcindy @ ketpic.com <mailto:Ketcindy @ ketpic.com>
>>> http://lists.ketpic.com/mailman/listinfo/ketcindy <http://lists.ketpic.com/mailman/listinfo/ketcindy>
>> 
>> *******************************************
>>    高遠 節夫(たかとおせつお)
>>        東邦大学理学部(訪問教授)
>>        KETpic開発センター    
>>        DL : CTAN > ketcindy
>>        ML : ketpic.com <http://ketpic.com/> > Link List
>> ============================
>> 
>> _______________________________________________
>> Ketcindy mailing list
>> Ketcindy @ ketpic.com <mailto:Ketcindy @ ketpic.com>
>> http://lists.ketpic.com/mailman/listinfo/ketcindy <http://lists.ketpic.com/mailman/listinfo/ketcindy>
>> _______________________________________________
>> Ketcindy mailing list
>> Ketcindy @ ketpic.com <mailto:Ketcindy @ ketpic.com>
>> http://lists.ketpic.com/mailman/listinfo/ketcindy <http://lists.ketpic.com/mailman/listinfo/ketcindy>
> 
> *******************************************
>    高遠 節夫(たかとおせつお)
>        東邦大学理学部(訪問教授)
>        KETpic開発センター    
>        DL : CTAN > ketcindy
>        ML : ketpic.com <http://ketpic.com/> > Link List
> ============================
> 
> _______________________________________________
> Ketcindy mailing list
> Ketcindy @ ketpic.com <mailto:Ketcindy @ ketpic.com>
> http://lists.ketpic.com/mailman/listinfo/ketcindy <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
============================

-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: http://lists.ketpic.com/pipermail/ketcindy/attachments/20190123/bfab02be/attachment-0003.html 
-------------- next part --------------
$B%F%-%9%H7A<00J30$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
$B%U%!%$%kL>(B: test.c
$B7?(B:         application/octet-stream
$B%5%$%:(B:     489 $B%P%$%H(B
$B @ bL@(B:       $BL5$7(B
URL:        http://lists.ketpic.com/pipermail/ketcindy/attachments/20190123/bfab02be/attachment-0002.obj 
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: http://lists.ketpic.com/pipermail/ketcindy/attachments/20190123/bfab02be/attachment-0004.html 
-------------- next part --------------
$B%F%-%9%H7A<00J30$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
$B%U%!%$%kL>(B: test2.c
$B7?(B:         application/octet-stream
$B%5%$%:(B:     470 $B%P%$%H(B
$B @ bL@(B:       $BL5$7(B
URL:        http://lists.ketpic.com/pipermail/ketcindy/attachments/20190123/bfab02be/attachment-0003.obj 
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: http://lists.ketpic.com/pipermail/ketcindy/attachments/20190123/bfab02be/attachment-0005.html 


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