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

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

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

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

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

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

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

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

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

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

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

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

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

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

0014デフォルトの名無しさん2016/03/07(月) 17:06:47.42ID: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);

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

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

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

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

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

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

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

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

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

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

0023デフォルトの名無しさん2018/05/23(水) 22:32:52.85ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

3U3V7

0024デフォルトの名無しさん2018/07/04(水) 23:33:35.70ID:gFgZc5FG
9EM

0025titlesyunkanpitch上niirukotohaomoigatuyokerebatuyoi2018/11/07(水) 00:41:16.56ID:sJO3K3oU
ho
do

t
o
ku
be
t
u
d
a
yo

0026初ne sonnakotomowakaran2018/11/07(水) 00:42:16.12ID:sJO3K3oU
k

a

i

00275〜to13?〜jyanaosarane2018/11/07(水) 00:42:57.39ID:sJO3K3oU
。・¥

0028dakaratoi kojinnnokanjyouwokantokugayuusensurukotha2018/11/07(水) 00:44:50.31ID:sJO3K3oU
tte na i g a n e

0029デフォルトの名無しさん2018/11/11(日) 14:32:02.74ID:vUUak6BF

0030蟻人間 ◆T6xkBnTXz7B0 2020/09/06(日) 19:59:00.86ID:lIPnZg7j
☆★☆テナント募集中☆★☆
スレッド終了のため、一緒にスレッドを盛り上げてくれる
イベント企画が出来る方を募集しています。
まずはご連絡下さい。
株式会社突撃商会 TEL 03-XXXX-XXXX

■ このスレッドは過去ログ倉庫に格納されています