5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

ソースコードの再構築は可能か? [無断転載禁止]©2ch.net

1 :片山博文MZ ◆T6xkBnTXz7B0 :2016/01/31(日) 21:15:56.57 ID:KGvneECt
C言語で書かれた、メンテが行き届いていないソースコードがここにあると仮定しよう。
当然のように、プリプロセッサの魔術やら、グローバル変数やらが惜し気もなく使われている。
これを自動的にC++のクラスにまとめることは可能だろうか?
可能ならどのような技術でできるだろうか?

2 :デフォルトの名無しさん:2016/01/31(日) 21:24:37.01 ID:9Gq1Qcnx
「自動的に」は無理だろう。
人力でならできるかもしれないが、できるとしても経営者がやらせない。

3 :デフォルトの名無しさん:2016/01/31(日) 21:36:47.01 ID:7LoAMsY1
メンテが必要なのは貴様のアタマじゃ

4 :片山博文MZ ◆T6xkBnTXz7B0 :2016/01/31(日) 21:46:52.88 ID:KGvneECt
私が考えた方法:
class my_class { };で囲む。
my_classのコンストラクタを追加。
main関数の中身を取り出し、my_classのメソッドmy_mainにする。
main関数の中身を
my_class mc;
return mc.my_main(argc, argv);
にする。

5 :デフォルトの名無しさん:2016/01/31(日) 21:51:25.42 ID:zJ6m2KtS
C++コンパイラでコンパイルするだけじゃ

6 :片山博文MZ ◆T6xkBnTXz7B0 :2016/01/31(日) 22:10:07.38 ID:KGvneECt
>>2
無理と言うのはだれでもできる。
できないなら、できない理由を答えて下されよ。

7 :片山博文MZ ◆T6xkBnTXz7B0 :2016/01/31(日) 22:16:45.80 ID:KGvneECt
>>5
クラスにしないといけない。
グローバル変数は禁止。

8 :デフォルトの名無しさん:2016/01/31(日) 22:42:18.21 ID:8GI8e/FD
>>7
組み込み系は、グローバル変数、絶対に必要。

9 :デフォルトの名無しさん:2016/02/01(月) 00:01:40.05 ID:aRlt4/c6
答えの出ないスレを立てて荒らすのがはやってるの?

10 :デフォルトの名無しさん:2016/02/01(月) 00:08:18.95 ID:RHShN3vI
大本がクラス化意識した作りしてないと
C++でreworkしたほうが

11 :デフォルトの名無しさん:2016/02/01(月) 00:11:23.35 ID:N0i0uifT
>>4
それでいんじゃねーの。
なにがうれしいのかはよくわからんけど。

12 :片山博文MZ ◆T6xkBnTXz7B0 :2016/02/01(月) 00:20:24.09 ID:MU0q3D+c
>>11
分割コンパイルのとき、失敗する。
やたらインライン関数が増えてしまう。

13 :片山博文MZ ◆T6xkBnTXz7B0 :2016/02/01(月) 00:38:24.90 ID:MU0q3D+c
これなんかどうだろう?
http://www.scriptol.com/scripts/ctocpp.html

14 :デフォルトの名無しさん:2016/03/07(月) 17:06:47.42 ID:nbAKle/L
なかなかよさげじゃないの

>They require C sources written with a clear programming style: one statement per line is required in most case
>Before to start, you need to mark as "static", any variable or function you want not being converted to class members.
>If a declaration is splitted, parts must be ended by a comma.
> Example:
> mydecl(int x,
> int y);

15 :デフォルトの名無しさん:2016/03/21(月) 00:41:46.37 ID:KQkKBKcO
>>1
全体を一つのクラスにする。

16 :デフォルトの名無しさん:2016/03/21(月) 03:19:03.67 ID:gGtaNB7f
普通にコンパイルしてバイナリにした後c++で作成したエミュレータのソース上にリソースとして組み込んでやれば良いんでない?

17 :デフォルトの名無しさん:2016/03/21(月) 08:31:33.96 ID:wDZuq9VI
機械学習とか発達したら超絶リファクタリングツールも可能なんではないか

18 :デフォルトの名無しさん:2016/03/21(月) 09:11:20.27 ID:lwkXzPK7
今の機械学習(ディープラーニング)じゃむり。

あれはパターンを把握して、統計的に勝つ可能性が高い物を選ぶってだけで
理解した上で論理的に答えを導き出すものじゃないから。

19 :デフォルトの名無しさん:2016/03/22(火) 10:53:54.91 ID:Z5ZJSs0G
CからC++に再構築したコードが膨大にあれば機械学習で統計的に処理できる

20 :デフォルトの名無しさん:2016/03/22(火) 11:07:53.05 ID:HxXatiVI
機械学習ってすごいんですね
いつ頃できるようになるんだろ

21 :デフォルトの名無しさん:2016/03/22(火) 15:03:49.24 ID:6KPFBZ6M
>>19
CからC++なら難しくないだろ。

そのかわり、CっぽいC++コードになるが。

22 :デフォルトの名無しさん:2016/03/22(火) 15:32:20.81 ID:cRV6j0bX
そんなツールがまともに使える頃には C使いなんて絶滅してるよ

5 KB
新着レスの表示

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :


read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)