ふらっとC#,C♯,C#(初心者用) Part27at TECHふらっとC#,C♯,C#(初心者用) Part27 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト50:デフォルトの名無しさん 08/04/22 01:05:31 >>46 お世話になります これから調べてくるッス 日付が変わるまでにはなんとか 51:デフォルトの名無しさん 08/04/22 03:28:01 dllの中身が void hoge(char *str){ printf("%s",str); } のとき [DllImport("hoge.dll")] static extern void hoge(string str); とすると hoge("hoge"); で呼び出せて [DllImport("hoge.dll")] static extern void hoge(char[] str); とすると hoge("hoge".ToCharArray()); で呼び出せるみたいなんだけど、これってコンパイラがstringをchar[]に勝手に変えてくれてるの? 仕組みとか注意点とかあれば教えていただきたい。 52:デフォルトの名無しさん 08/04/22 06:33:59 >>51 StringがChar[]に変換されるのではなく、StringもChar[]もchar*に変換されてDLLに渡される。 .NETの型ごとに、プラットフォーム呼び出しの時、どんな型に変換されるか決まっている。くわしくは「規定のマーシャリング」でググれ。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch