Windowsでconfig.sysのFILESを変更する

March 8,2018 12:03 AM
Category:[Windows]
Tag:[Windows]
Permalink

config.sysのFILESを変更する方法を紹介します。

1.問題点

PCで色々なプログラムを起動しすぎたせいか、「16ビットプログラムを使いすぎです。CONFIG.SYSのFILESを変更してください」
という風なダイアログが表示されてしまいました(キャプチャ取り損ねたので正式なメッセージは失念)。

「CONFIG.SYS」というのは、ファイル名から推測するにWindowsの設定ファイルと思われますが、フォルダを探してもファイルがみつかりません。

ということで、config.sysのFILESを変更する方法を紹介します。

2.config.sysの配置場所

config.sysはCドライブ直下に配置されていると思います。

ただ、エクスプローラーでCドライブを表示しても、CONFIG.SYSが表示されていないと思います。

(クリックで拡大)
エクスプローラー

エクスプローラーでconfig.sysを表示するには、「整理」→「フォルダーと検索のオプション」をクリック。

フォルダーと検索のオプション

「表示」タブの「保護されたオペレーティングシステムファイルを表示しない(推奨)」のチェックを外す。

保護されたオペレーティングシステムファイルを表示しない(推奨)

警告ダイアログが表示されるので「はい」をクリック。

警告ダイアログ

前の画面に戻るので「OK」をクリック。

OK

これでconfig.sysが表示されます。

エクスプローラー

3.config.sysのFILESを変更する

config.sysをメモ帳など、任意のエディタで開きます。

なお通常のユーザーでは保存できないようなので、メモ帳の場合、ダブルクリックではなく、右クリックして「管理者として実行」で開きます。

私の環境では

FILES=40

が設定されていたので、この「40」の値を適当な値に増やします。

FILES

config.sysはWindows起動時に読み込まれ、そのあとは読み込まれないので、編集したあとは再起動が必要です。

4.その他

上記の手順でFILESの値は変更できますが、そもそもその対処が本質的であるかは不明です。

たとえば下記のような対処もあるので、安易に値を変更するのではなく、色々調べてみた方がいいかもしれません。

Comments [0] | Trackbacks [0]

gcc/g++の"-l"オプションの意味

March 6,2018 12:03 AM
Category:[C/C++]
Tag:[C/C++]
Permalink

gcc/g++の"-l"オプションの意味について調べてみました。

1.問題点

C/C++のオブジェクトファイルをldコマンドでリンクする方法(その2)」で示した最後の1行、

-lstdc++ -lm -lgcc_s -lgcc -lc

で"-l"は、リンクするライブラリを指定するためのオプションです。

が、"-l"の後に続く「stdc++」「m」「gcc_s」「c」が何を指しているのか、さっぱりわかりません。

ということで、"-l"オプションの意味について調べてみました。

2."-l"オプションの意味

前項のオプションを例に説明します。

それぞれのオプションは、下記のライブラリを検索します。

  • libstdc++.a
  • libm.a
  • libgcc_s.a
  • libgcc.a
  • libc.a

具体的には、"-l"オプションはリンクのときに使われるオプションで、"-l"の後に続く文字列に"lib"、後方に".a"をつけたライブラリを検索します。

この規則については、ldコマンドのmanページに、次のように記載されています。

-lar
アーカイブファイル ar をリンクするファイルのリストに加える。このオプションは何回でも指定でき る。 ld は ar が指定されるごとに、 libar.a が見つかるまで検索パ スを探す。
Comments [0] | Trackbacks [0]

Movable Type 7の「enable_object_methods」について

March 2,2018 12:03 AM
Category:[7.0]
Tag:[MovableType]
Permalink

Movable Type 7の「enable_object_methods」について紹介します。

1.問題点

Movable Type 7で既存プラグイン検証中で、独自オブジェクトを使っているプラグインでデータを保存すると、「不正な要求です。」という、MT6で発生しなかったエラーが発生しました。

不正な要求です

調べたところ、MT7(MT7.0b1〜)で新しく追加された「enable_object_methods」が影響しているようです。

ということで、「enable_object_methods」について情報共有します。

2.「enable_object_methods」について

「enable_object_methods」はレジストリ項目で、各オブジェクトの編集・保存・削除の可否をチェックします。

具体的には、MT::Commonのsave()/edit()/delete()でこのレジストリをチェックし、編集・保存・削除でこのレジストリが登録されていないと冒頭のエラーになります。

独自オブジェクトを使っているプラグインで、オブジェクトの編集・保存・削除にエラーにならないようにするためには、プラグインのconfig.yaml等に下記の記述が必要です。

enable_object_methods:
    データソース名:
        save: 1
        edit: 1
        delete: 1

β版の情報なので今後変更になるかもしれませんが、独自オブジェクトを使ったプラグイン+MT6で運用しているサイトはMT7へのアップグレードで独自オブジェクトの編集・保存・削除ができなくなる可能性があります。ご注意ください。

Comments [0] | Trackbacks [0]
 1  |  2  |  3  |  4  |  5  | All pages