喫茶XRAYトップページ

[スレッド全体
]

[1335] Re2:Lazarus のインストール返信 削除
2007/8/1 (水) 11:42:27 taka
▼ Nullさん
> コンパイル時間が長いことと、
そうですよね。
あとほんの少しでいいから速いとストレスにならないような気がします。


> 実行形式ファイルのサイズ
> が大きいこと

コンパイラオプションか何かで少し小さくできたような気がします
ずっと事前に試したのではっきり覚えていません (^^;

ともって
> http://wiki.lazarus.freepascal.org/Lazarus_Documentation/ja
そこのリンクをたどったら載っていました


http://wiki.lazarus.freepascal.org/Lazarus_Faq/ja
http://wiki.lazarus.freepascal.org/File_size_and_smartlinking/ja


[1336] Re3:Lazarus のインストール返信 削除
2007/8/1 (水) 18:20:14 Null
▼ takaさん、 Nullです。


> そこのリンクをたどったら載っていました
> http://wiki.lazarus.freepascal.org/Lazarus_Faq/ja
> http://wiki.lazarus.freepascal.org/File_size_and_smartlinking/ja


ステキな情報有り難う御座います。
早速、オプションの設定を探って見ます。


ところで、
>> http://wiki.lazarus.freepascal.org/Lazarus_Documentation/ja
での情報(Documentation)量は凄いですね。

目的の資料を探すのに結構時間がかかります!!。
エッ、もしかして私だけ??。要領が悪いのかな!!。

Linux版 Lazarusの進展にも大いに期待したいですね。


[1339] Re4:Lazarus  : その1返信 削除
2007/8/8 (水) 19:25:20 taka
▼ Nullさん
> ▼ takaさん、 Nullです。
>
>
> > そこのリンクをたどったら載っていました
> > http://wiki.lazarus.freepascal.org/Lazarus_Faq/ja
> > http://wiki.lazarus.freepascal.org/File_size_and_smartlinking/ja
>
> ステキな情報有り難う御座います。
> 早速、オプションの設定を探って見ます。
>
>
> ところで、
> >> http://wiki.lazarus.freepascal.org/Lazarus_Documentation/ja
> での情報(Documentation)量は凄いですね。
>
> 目的の資料を探すのに結構時間がかかります!!。
> エッ、もしかして私だけ??。要領が悪いのかな!!。
>
> Linux版 Lazarusの進展にも大いに期待したいですね。


レンタルサーバーで動作させたいものがあったので
C言語使いたくないので
Freepascalで作って きがついたことがありますので
参考にどうぞ


Lazarus 全角文字を含むコメント{} // でエラー

原因
  IDEがマルチバイトに対応していないため

対策
 エラーがでたときは、 (* *) のコメントに変更することでほとんど回避できます


対象の文字
{
 + ボ к 閲 顎 宮 鶏
 砿 施 旬 須 捜 怒 倍
 府 本 養 几
}
 ± マ 笠 急 迎 枝 図
 挿 筑 党 媒 扶 凡 抑
など
他の文字は下のコードで確認できます。

procedure TForm1.Button1Click(Sender: TObject);
  var i, x :integer;
  const
    ch : array[0..1] of char = ('{','}');
begin
  // ascii  -127
 for x := 0 to 1 do
  begin
    Memo1.Lines.Add('---- : '+ch[x]);
    for i:= 128 to 255 do
    begin
      if ($A0 <=i)and (i <= $DF) then continue; // 半_kana
      if (byte(ch[x]) shl 8) + i < $F040  then
        Memo1.Lines.Add(ch[x]+Char(i));
      // $F040 > 外字 ?
      if (i shl 8)+byte(ch[x]) < $F040  then
      if (Char(i) in [#$81..#$9F,#$E0..#$FF]) then
        Memo1.Lines.Add(Char(i)+ch[x]);
    end;
  end;
end;




[1340] Re4:Lazarus:その2返信 削除
2007/8/8 (水) 19:27:48 taka
落とし穴 その1

{$mode objfpc}

を宣言しないと
 integerがsmallintになります。

落とし穴 その2
{$H+}
を宣言しないと
 stringが string[255]になります。
 stringを出し入れする関数が大ダメージを受けます。
 :ref.pdf p.23 : 3.2.3
 :prog.pdf p.20 : 1.1.20 $H or $LONGSTRINGS : Use AnsiStrings

   Delphiでは、デフォルトは {$H+} です。

 {$mode objfpc}
 なんかは、Delphiにそんなのナイヨと怒られます!!
 [エラー] Unit1.pas(): 間違ったコンパイル指令 : 'mode'

同じユニットをDelphiでも使いたいヨ!
ということで
【まとめ】
ソース(pas,pp)に含める指令

{$IFDEF FPC}
  {$mode objfpc}
  {$H+}
  // これがないと FPCで integerが1バイトになるので注意
  // これがないと FPCで string[255]になるので注意
{$ENDIF}


------------------
  {$mode objfpc}をソースに書きたくない場合は
fpc.cfg 又はプロジェクトのオプションでも
変更できます。

  {$H+}は、
Delphiのコンパイラのでは  dcc32 -d$H+ みたいなことができるのですが
fpcでは? どうでしょう?? 探しましたがわかりません。


------------------
ついでに
FreePascal2/doc/prog/progap7.html
も必見です



[1341] Re5:Lazarus:その2返信 削除
2007/8/9 (木) 11:59:08 Null
▼ takaさん

詳細な情報ありがとうございます。

当方、顧客のPCが壊れたため手持ちの機器を貸し出すことに成りました。
先方でosを入れ替えると言うことなのでLinux機を出しました。

こちらの手元にかえって来るのは、今月末の予定だと言われました。

かえって来たら、一から仕切り直しです。...Linuxの再インストからです。
ウっ、きつい!!。

と、言うことで今は「おあずけ」状態です。

何故か、「ひらがな」の多い文に成りましたね?。


[1343] Re4:Lazarus:その2返信 削除
2007/8/12 (日) 19:41:37 taka
▼ Nullさん
> こちらの手元にかえって来るのは、今月末の予定だと言われました。
>
> かえって来たら、一から仕切り直しです。...Linuxの再インストからです。
> ウっ、きつい!!。

HDDが1台余分にあれば
raid機能を利用すると簡単?に復元できますよ
ソフトウェアraidしたことないので詳細は不明・・・(笑

 追記
  いや HDDが1台余分にあれば、貸す前に
 HDD付け替えればいいだけなので raidの必要性はありませんね・・・
 猛暑でぼけていました。


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82