質問編集履歴

10

teratermでCobolソースとCソースの文字コード確認とコンパイル&実行した結果を追記しました。実行結果の文字化けが"筐"と"▒"で異なる結果となりました。

2017/10/05 08:25

投稿

ogohyo
ogohyo

スコア23

test CHANGED
File without changes
test CHANGED
@@ -466,6 +466,10 @@
466
466
 
467
467
  nkfをインストールして使いました。
468
468
 
469
+
470
+
471
+ win10コマンドプロンプトで実行
472
+
469
473
  ```ここに言語を入力
470
474
 
471
475
  yum install nkf
@@ -486,6 +490,32 @@
486
490
 
487
491
  ```
488
492
 
493
+ Teratermで実行
494
+
495
+ ```ここに言語を入力
496
+
497
+ [vagrant@localhost ~]$ cobc -x main.cbl
498
+
499
+ [vagrant@localhost ~]$ nkf -g main.cbl
500
+
501
+ UTF-8 (LF)
502
+
503
+ [vagrant@localhost ~]$ cobc -C main.cbl
504
+
505
+ [vagrant@localhost ~]$ nkf -g main.c
506
+
507
+ UTF-8 (LF)
508
+
509
+ [vagrant@localhost ~]$ ls
510
+
511
+ main main.c.h main.cbl
512
+
513
+ main.c main.c.l.h
514
+
515
+ ```
516
+
517
+
518
+
489
519
  ```Cobol
490
520
 
491
521
  IDENTIFICATION DIVISION.

9

cobolのソース(main.cbl)、C変換のソース(main.c)の文字コード確認と実行結果

2017/10/05 08:25

投稿

ogohyo
ogohyo

スコア23

test CHANGED
File without changes
test CHANGED
@@ -486,13 +486,61 @@
486
486
 
487
487
  ```
488
488
 
489
+ ```Cobol
490
+
491
+ IDENTIFICATION DIVISION.
492
+
493
+ PROGRAM-ID. TEST01.
494
+
495
+ ENVIRONMENT DIVISION.
496
+
497
+ DATA DIVISION.
498
+
499
+ WORKING-STORAGE SECTION.
500
+
501
+ 01 ABC PIC N(5).
502
+
503
+ 01 KAKUNIN PIC X(3).
504
+
505
+ PROCEDURE DIVISION.
506
+
507
+ MAIN-START.
508
+
509
+
510
+
511
+ DISPLAY "あ" LINE 2 COL 1.
512
+
513
+ ACCEPT ABC.
514
+
515
+
516
+
517
+ MAIN-END.
518
+
519
+ STOP RUN.
520
+
521
+ ```
522
+
523
+ 結果はこうなりました
524
+
525
+ Teratermで実行
526
+
489
- ```ここに言語を入力
527
+ ```ここに言語を入力
490
-
528
+
491
- コード
529
+ 筐A~D →い、と入力
530
+
492
-
531
+ 筐A~B →DISPALY "あ"表示
532
+
493
- ```
533
+ ```
534
+
494
-
535
+ win10コマンドプロンプトで実行
536
+
495
-
537
+ ```ここに言語を入力
538
+
539
+ ▒~A~D →い、と入力
540
+
541
+ ▒~A~B →DISPALY "あ"表示
542
+
543
+ ```
496
544
 
497
545
  ###Cソースをgcc -gを試してみました。
498
546
 

8

###cobolソースの文字コードとCに変換したソースの文字コード、を追記しました。ついでにgccでcコンパイルエラーも追記します。

2017/10/05 05:20

投稿

ogohyo
ogohyo

スコア23

test CHANGED
File without changes
test CHANGED
@@ -459,3 +459,75 @@
459
459
  declare -x USER="vagrant"
460
460
 
461
461
  ```
462
+
463
+
464
+
465
+ ###cobolソースの文字コードとCに変換したソースの文字コード
466
+
467
+ nkfをインストールして使いました。
468
+
469
+ ```ここに言語を入力
470
+
471
+ yum install nkf
472
+
473
+ [vagrant@localhost ~]$ cobc -x main.cbl
474
+
475
+ [vagrant@localhost ~]$ nkf -g main.cbl
476
+
477
+ UTF-8 (LF)
478
+
479
+ [vagrant@localhost ~]$ cobc -C main.cbl
480
+
481
+ [vagrant@localhost ~]$ nkf -g main.c
482
+
483
+ [vagrant@localhost ~]$ ls
484
+
485
+ main main.c main.c.h main.c.l.h main.cbl
486
+
487
+ ```
488
+
489
+ ```ここに言語を入力
490
+
491
+ コード
492
+
493
+ ```
494
+
495
+
496
+
497
+ ###Cソースをgcc -gを試してみました。
498
+
499
+ あとの検証に役立つかもと思い追記します。
500
+
501
+ Cでincludeがうまくいってないと思っています
502
+
503
+ ```ここに言語を入力
504
+
505
+ [vagrant@localhost ~]$ gcc -g main.c
506
+
507
+ /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crt1.o: In function `_start':
508
+
509
+ (.text+0x20): undefined reference to `main'
510
+
511
+ /tmp/ccr0Fl4n.o: In function `TEST01_':
512
+
513
+ /home/vagrant/main.c:61: undefined reference to `cob_current_module'
514
+
515
+ /home/vagrant/main.c:62: undefined reference to `cob_current_module'
516
+
517
+ /home/vagrant/main.c:63: undefined reference to `cob_push_call_stack_list'
518
+
519
+ /home/vagrant/main.c:68: undefined reference to `cob_initialized'
520
+
521
+ /home/vagrant/main.c:69: undefined reference to `cob_fatal_error'
522
+
523
+ /home/vagrant/main.c:71: undefined reference to `cob_check_version'
524
+
525
+ /home/vagrant/main.c:73: undefined reference to `cob_set_cancel'
526
+
527
+ ~cob_displayなどが未定義ということで途中記載省略~
528
+
529
+ /home/vagrant/main.c:198: undefined reference to `cob_stop_run'
530
+
531
+ collect2: ld はステータス 1 で終了しました
532
+
533
+ ```

7

LANG="ja_JP.UTF-8"でコンパイル・実行を試した結果、LANG="en_US.UTF-8"の場合と変わらずでしたので、export -p,localeを修正しました。

2017/10/05 04:42

投稿

ogohyo
ogohyo

スコア23

test CHANGED
File without changes
test CHANGED
@@ -400,42 +400,6 @@
400
400
 
401
401
 
402
402
 
403
- ###locale コマンド
404
-
405
- ```ここに言語を入力
406
-
407
- LANG=en_GB.UTF-8
408
-
409
- LC_CTYPE="en_GB.UTF-8"
410
-
411
- LC_NUMERIC="en_GB.UTF-8"
412
-
413
- LC_TIME="en_GB.UTF-8"
414
-
415
- LC_COLLATE="en_GB.UTF-8"
416
-
417
- LC_MONETARY="en_GB.UTF-8"
418
-
419
- LC_MESSAGES="en_GB.UTF-8"
420
-
421
- LC_PAPER="en_GB.UTF-8"
422
-
423
- LC_NAME="en_GB.UTF-8"
424
-
425
- LC_ADDRESS="en_GB.UTF-8"
426
-
427
- LC_TELEPHONE="en_GB.UTF-8"
428
-
429
- LC_MEASUREMENT="en_GB.UTF-8"
430
-
431
- LC_IDENTIFICATION="en_GB.UTF-8"
432
-
433
- LC_ALL=
434
-
435
- ```
436
-
437
-
438
-
439
403
  ###Cobolコンパイルと実行
440
404
 
441
405
  ```ここに言語を入力
@@ -452,7 +416,7 @@
452
416
 
453
417
  ```ここに言語を入力
454
418
 
455
- $ export -p
419
+ [vagrant@localhost ~]$ export -p
456
420
 
457
421
  declare -x G_BROKEN_FILENAMES="1"
458
422
 
@@ -464,7 +428,7 @@
464
428
 
465
429
  declare -x HOSTNAME="localhost.localdomain"
466
430
 
467
- declare -x LANG="en_GB.UTF-8"
431
+ declare -x LANG="ja_JP.UTF-8"
468
432
 
469
433
  declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
470
434
 
@@ -474,11 +438,11 @@
474
438
 
475
439
  declare -x MAIL="/var/spool/mail/vagrant"
476
440
 
477
- declare -x OLDPWD="/mnt/cobol"
441
+ declare -x OLDPWD
478
442
 
479
443
  declare -x PATH="/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/vagrant/bin"
480
444
 
481
- declare -x PWD="/"
445
+ declare -x PWD="/home/vagrant"
482
446
 
483
447
  declare -x SHELL="/bin/bash"
484
448
 

6

###環境 CentOSのboxについて追記しました

2017/10/05 04:04

投稿

ogohyo
ogohyo

スコア23

test CHANGED
File without changes
test CHANGED
@@ -384,7 +384,13 @@
384
384
 
385
385
  CentOS release 6.7
386
386
 
387
+ ```ここに言語を入力
388
+
389
+ vagrant box add centos6-7 https://github.com/CommanderK5/packer-centos-template/releases/download/0.6.7/vagrant-centos-6.7.box
390
+
391
+
392
+
387
- gcc
393
+ ```gcc
388
394
 
389
395
  OpenSourceCobol 1.5.1.0 utf8
390
396
 

5

###環境にユーザーを追記しました

2017/10/05 03:22

投稿

ogohyo
ogohyo

スコア23

test CHANGED
File without changes
test CHANGED
@@ -378,6 +378,8 @@
378
378
 
379
379
  ###環境
380
380
 
381
+ ユーザー /home/vagrant
382
+
381
383
  Vagrant VertualBOX
382
384
 
383
385
  CentOS release 6.7

4

「###試したこと・調べたこと:localeをja_JP.UTF-8」に「$ locale "ja_JP.UTF-8"」を移動しました

2017/10/05 03:01

投稿

ogohyo
ogohyo

スコア23

test CHANGED
File without changes
test CHANGED
@@ -302,6 +302,54 @@
302
302
 
303
303
  ```
304
304
 
305
+
306
+
307
+ ###試したこと・調べたこと:localeをja_JP.UTF-8
308
+
309
+ ```ここに言語を入力
310
+
311
+ $ vi /etc/sysconfig/i18n
312
+
313
+ #LANG="en_US.UTF-8" //コメントアウト
314
+
315
+ LANG="ja_JP.UTF-8" //追加
316
+
317
+
318
+
319
+ $ locale
320
+
321
+ LANG=ja_JP.UTF-8
322
+
323
+ LC_CTYPE="ja_JP.UTF-8"
324
+
325
+ LC_NUMERIC="ja_JP.UTF-8"
326
+
327
+ LC_TIME="ja_JP.UTF-8"
328
+
329
+ LC_COLLATE="ja_JP.UTF-8"
330
+
331
+ LC_MONETARY="ja_JP.UTF-8"
332
+
333
+ LC_MESSAGES="ja_JP.UTF-8"
334
+
335
+ LC_PAPER="ja_JP.UTF-8"
336
+
337
+ LC_NAME="ja_JP.UTF-8"
338
+
339
+ LC_ADDRESS="ja_JP.UTF-8"
340
+
341
+ LC_TELEPHONE="ja_JP.UTF-8"
342
+
343
+ LC_MEASUREMENT="ja_JP.UTF-8"
344
+
345
+ LC_IDENTIFICATION="ja_JP.UTF-8"
346
+
347
+ LC_ALL=
348
+
349
+ ```
350
+
351
+
352
+
305
353
  ###何かヒントとなることでも頂けると助かります
306
354
 
307
355
  OSCobolを使っている方、他の言語で似たようなことになったことがある方、引き続き調べて、必要な情報など追記できればと思っていますのでコメントいただきたくよろしくお願いいたします。
@@ -344,6 +392,42 @@
344
392
 
345
393
 
346
394
 
395
+ ###locale コマンド
396
+
397
+ ```ここに言語を入力
398
+
399
+ LANG=en_GB.UTF-8
400
+
401
+ LC_CTYPE="en_GB.UTF-8"
402
+
403
+ LC_NUMERIC="en_GB.UTF-8"
404
+
405
+ LC_TIME="en_GB.UTF-8"
406
+
407
+ LC_COLLATE="en_GB.UTF-8"
408
+
409
+ LC_MONETARY="en_GB.UTF-8"
410
+
411
+ LC_MESSAGES="en_GB.UTF-8"
412
+
413
+ LC_PAPER="en_GB.UTF-8"
414
+
415
+ LC_NAME="en_GB.UTF-8"
416
+
417
+ LC_ADDRESS="en_GB.UTF-8"
418
+
419
+ LC_TELEPHONE="en_GB.UTF-8"
420
+
421
+ LC_MEASUREMENT="en_GB.UTF-8"
422
+
423
+ LC_IDENTIFICATION="en_GB.UTF-8"
424
+
425
+ LC_ALL=
426
+
427
+ ```
428
+
429
+
430
+
347
431
  ###Cobolコンパイルと実行
348
432
 
349
433
  ```ここに言語を入力
@@ -356,51 +440,7 @@
356
440
 
357
441
 
358
442
 
359
- ###環境CentOS
443
+ ###環境export -p
360
-
361
- ```ここに言語を入力
362
-
363
- $ vi /etc/sysconfig/i18n
364
-
365
- #LANG="en_US.UTF-8" //コメントアウト
366
-
367
- LANG="ja_JP.UTF-8" //追加
368
-
369
-
370
-
371
- $ locale
372
-
373
- LANG=ja_JP.UTF-8
374
-
375
- LC_CTYPE="ja_JP.UTF-8"
376
-
377
- LC_NUMERIC="ja_JP.UTF-8"
378
-
379
- LC_TIME="ja_JP.UTF-8"
380
-
381
- LC_COLLATE="ja_JP.UTF-8"
382
-
383
- LC_MONETARY="ja_JP.UTF-8"
384
-
385
- LC_MESSAGES="ja_JP.UTF-8"
386
-
387
- LC_PAPER="ja_JP.UTF-8"
388
-
389
- LC_NAME="ja_JP.UTF-8"
390
-
391
- LC_ADDRESS="ja_JP.UTF-8"
392
-
393
- LC_TELEPHONE="ja_JP.UTF-8"
394
-
395
- LC_MEASUREMENT="ja_JP.UTF-8"
396
-
397
- LC_IDENTIFICATION="ja_JP.UTF-8"
398
-
399
- LC_ALL=
400
-
401
- ```
402
-
403
- ###
404
444
 
405
445
  ```ここに言語を入力
406
446
 

3

コンパイルしたときのコマンド、LANGの設定、localeコマンドを追記しました

2017/10/05 03:00

投稿

ogohyo
ogohyo

スコア23

test CHANGED
File without changes
test CHANGED
@@ -342,10 +342,34 @@
342
342
 
343
343
  win10コマンドプロンプト chcp 65001
344
344
 
345
+
346
+
345
- ###locale
347
+ ###Cobolコンパイルと実行
346
348
 
347
349
  ```ここに言語を入力
348
350
 
351
+ cobc -x main.cbl
352
+
353
+ ./main
354
+
355
+ ```
356
+
357
+
358
+
359
+ ###環境CentOS
360
+
361
+ ```ここに言語を入力
362
+
363
+ $ vi /etc/sysconfig/i18n
364
+
365
+ #LANG="en_US.UTF-8" //コメントアウト
366
+
367
+ LANG="ja_JP.UTF-8" //追加
368
+
369
+
370
+
371
+ $ locale
372
+
349
373
  LANG=ja_JP.UTF-8
350
374
 
351
375
  LC_CTYPE="ja_JP.UTF-8"
@@ -380,6 +404,8 @@
380
404
 
381
405
  ```ここに言語を入力
382
406
 
407
+ $ export -p
408
+
383
409
  declare -x G_BROKEN_FILENAMES="1"
384
410
 
385
411
  declare -x HISTCONTROL="ignoredups"

2

OpensourceCobol utf8のインストール

2017/10/05 00:32

投稿

ogohyo
ogohyo

スコア23

test CHANGED
File without changes
test CHANGED
@@ -306,6 +306,26 @@
306
306
 
307
307
  OSCobolを使っている方、他の言語で似たようなことになったことがある方、引き続き調べて、必要な情報など追記できればと思っていますのでコメントいただきたくよろしくお願いいたします。
308
308
 
309
+ ###OpensourceCobol utf8のインストール
310
+
311
+ ```ここに言語を入力
312
+
313
+ sudo yum groupinstall "Development Tools"
314
+
315
+ sudo yum install gmp-devel db4 db4-devel ncurses-devel
316
+
317
+ cd /home/vagrant
318
+
319
+ wget opensource-cobol-1.5.1J "https://www.osscons.jp/osscobol/files/?action=cabinet_action_main_download&block_id=414&room_id=21&cabinet_id=11&file_id=382&upload_id=761"
320
+
321
+ ./configure --enable-utf8
322
+
323
+ make
324
+
325
+ make install
326
+
327
+ ```
328
+
309
329
 
310
330
 
311
331
  ###環境
@@ -318,7 +338,9 @@
318
338
 
319
339
  OpenSourceCobol 1.5.1.0 utf8
320
340
 
341
+ TeraTerm
342
+
321
- 端末:TeraTerm,win10コマンドプロンプト
343
+ win10コマンドプロンプト chcp 65001
322
344
 
323
345
  ###locale
324
346
 

1

環境変数LANG、端末を追記しました。hotta様ありがとうございます。

2017/10/04 12:29

投稿

ogohyo
ogohyo

スコア23

test CHANGED
File without changes
test CHANGED
@@ -317,3 +317,85 @@
317
317
  gcc
318
318
 
319
319
  OpenSourceCobol 1.5.1.0 utf8
320
+
321
+ 端末:TeraTerm,win10コマンドプロンプト
322
+
323
+ ###locale
324
+
325
+ ```ここに言語を入力
326
+
327
+ LANG=ja_JP.UTF-8
328
+
329
+ LC_CTYPE="ja_JP.UTF-8"
330
+
331
+ LC_NUMERIC="ja_JP.UTF-8"
332
+
333
+ LC_TIME="ja_JP.UTF-8"
334
+
335
+ LC_COLLATE="ja_JP.UTF-8"
336
+
337
+ LC_MONETARY="ja_JP.UTF-8"
338
+
339
+ LC_MESSAGES="ja_JP.UTF-8"
340
+
341
+ LC_PAPER="ja_JP.UTF-8"
342
+
343
+ LC_NAME="ja_JP.UTF-8"
344
+
345
+ LC_ADDRESS="ja_JP.UTF-8"
346
+
347
+ LC_TELEPHONE="ja_JP.UTF-8"
348
+
349
+ LC_MEASUREMENT="ja_JP.UTF-8"
350
+
351
+ LC_IDENTIFICATION="ja_JP.UTF-8"
352
+
353
+ LC_ALL=
354
+
355
+ ```
356
+
357
+ ###
358
+
359
+ ```ここに言語を入力
360
+
361
+ declare -x G_BROKEN_FILENAMES="1"
362
+
363
+ declare -x HISTCONTROL="ignoredups"
364
+
365
+ declare -x HISTSIZE="1000"
366
+
367
+ declare -x HOME="/home/vagrant"
368
+
369
+ declare -x HOSTNAME="localhost.localdomain"
370
+
371
+ declare -x LANG="en_GB.UTF-8"
372
+
373
+ declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
374
+
375
+ declare -x LOGNAME="vagrant"
376
+
377
+ declare -x LS_COLORS="省略"
378
+
379
+ declare -x MAIL="/var/spool/mail/vagrant"
380
+
381
+ declare -x OLDPWD="/mnt/cobol"
382
+
383
+ declare -x PATH="/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/vagrant/bin"
384
+
385
+ declare -x PWD="/"
386
+
387
+ declare -x SHELL="/bin/bash"
388
+
389
+ declare -x SHLVL="1"
390
+
391
+ declare -x SSH_CLIENT="省略"
392
+
393
+ declare -x SSH_CONNECTION="省略"
394
+
395
+ declare -x SSH_TTY="/dev/pts/0"
396
+
397
+ declare -x TERM="cygwin"
398
+
399
+ declare -x USER="vagrant"
400
+
401
+ ```