master
1const std = @import("std");
2
3pub fn main() !void {
4 var gpa: std.heap.GeneralPurposeAllocator(.{}) = .init;
5 defer _ = gpa.deinit();
6 const args = try std.process.argsAlloc(gpa.allocator());
7 defer std.process.argsFree(gpa.allocator(), args);
8
9 const dynlib_name = args[1];
10
11 var lib = try std.DynLib.open(dynlib_name);
12 defer lib.close();
13
14 const Add = *const fn (i32, i32) callconv(.c) i32;
15 const addFn = lib.lookup(Add, "add") orelse return error.SymbolNotFound;
16
17 const result = addFn(12, 34);
18 std.debug.assert(result == 46);
19}