LoginSignup
7
9

More than 5 years have passed since last update.

C#でDLLの作成(Mac)

Last updated at Posted at 2014-01-27

コンパイル

DLLを作成
( Mono C#コンパイラを使用 )

mcs /target:library /out:MathLibrary.DLL Add.cs Mult.cs

実行ファイル TestCode.exe を作成

mcs /out:TestCode.exe /reference:MathLibrary.DLL TestCode.cs

コード

Add.cs
// File: Add.cs 
namespace UtilityMethods
{
    public class AddClass 
    {
        public static long Add(long i, long j) 
        { 
            return (i + j);
        }
    }
}

Mult.cs
// File: Mult.cs
namespace UtilityMethods 
{
    public class MultiplyClass
    {
        public static long Multiply(long x, long y) 
        {
            return (x * y); 
        }
    }
}
TestCode.cs
// File: TestCode.cs

using UtilityMethods;

class TestCode
{
    static void Main(string[] args) 
    {
        System.Console.WriteLine("Calling methods from MathLibrary.DLL:");

        if (args.Length != 2)
        {
            System.Console.WriteLine("Usage: TestCode <num1> <num2>");
            return;
        }

        long num1 = long.Parse(args[0]);
        long num2 = long.Parse(args[1]);

        long sum = AddClass.Add(num1, num2);
        long product = MultiplyClass.Multiply(num1, num2);

        System.Console.WriteLine("{0} + {1} = {2}", num1, num2, sum);
        System.Console.WriteLine("{0} * {1} = {2}", num1, num2, product);
    }
}
/* Output (assuming 1234 and 5678 are entered as command line args):
    Calling methods from MathLibrary.DLL:
    1234 + 5678 = 6912
    1234 * 5678 = 7006652        
*/

実行コード

usingディレクティブを指定することで、コンパイル中に非修飾クラスを使ってDLLメソッドを参照できる.

C#
using UtilityMethod;
MultiplyClass.Multiply( num1, num2 );
C#
UtilityMethod.MultiplyClass.Multiply( num1, num2 );
7
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
9