「ライブラリの基礎 - C++DLL」の版間の差分

ナビゲーションに移動 検索に移動
83行目: 83行目:
  void  __stdcall SampleFunc02(int a, char *pstr)
  void  __stdcall SampleFunc02(int a, char *pstr)
  void  __stdcall SampleFunc03(int a, char *pstr)
  void  __stdcall SampleFunc03(int a, char *pstr)
void  __stdcall SampleFunc04(SampleStruct st)
  </source>
  </source>
  <source lang="c++">
  <source lang="c++">
107行目: 108行目:
  }
  }
   
   
  void __stdcall Sample02(int a, char *pstr)
  void __stdcall SampleFunc02(int a, char *pstr)
  {
  {
     printf("--<SampleDll:SampleFunc02>--\r\n");
     printf("--<SampleDll:SampleFunc02>--\r\n");
119行目: 120行目:
     printf("[%d] %s\r\n", a, str);
     printf("[%d] %s\r\n", a, str);
     sprintf_s(str, 256, "C++ DLL側から文字列を返す場合は、StringBuilderクラスを使用する");
     sprintf_s(str, 256, "C++ DLL側から文字列を返す場合は、StringBuilderクラスを使用する");
    printf("------------------------\r\n");
}
void __stdcall SampleFunc04(SampleStruct st)
{
    printf("--<SampleDll:Sample04>--\r\n");
    printf("index = %d\r\n", st.index);
    printf("name = %s\r\n", st.name);
    printf("data[0] = %d, data[1] = %d, data[2] = %d, data[3] = %d\r\n", st.data[0], st.data[1], st.data[2], st.data[3]);
     printf("------------------------\r\n");
     printf("------------------------\r\n");
  }
  }
132行目: 142行目:
           SampleFunc02  @2
           SampleFunc02  @2
           SampleFunc03  @3
           SampleFunc03  @3
          SampleFunc04  @4
  </source>
  </source>
<br>
<br>
166行目: 177行目:
       private static extern void SampleFunc03(int a, StringBuilder str);
       private static extern void SampleFunc03(int a, StringBuilder str);
   
   
/// <summary>
        /// <summary>
         /// 構造体を引数に持つ関数のインポート例
         /// 構造体を引数に持つ関数のインポート例
         /// </summary>
         /// </summary>
212行目: 223行目:
           SampleFunc03(3, strb);
           SampleFunc03(3, strb);
           Console.WriteLine(strb);
           Console.WriteLine(strb);
          var structHoge = new SampleStruct()
          {
            index = 4,
            name = "構造体サンプル",
            data = new int[50],
          };
          structHoge.data[0] = 11;
          structHoge.data[1] = 22;
          structHoge.data[2] = 33;
          SampleFunc04(structHoge);
   
   
           Console.ReadKey();
           Console.ReadKey();
匿名利用者

案内メニュー