From abc29cfde2268b283498d9e803420ffe8c6c70df Mon Sep 17 00:00:00 2001 From: Ken Ekeoha Date: Thu, 25 Apr 2024 13:19:38 +0200 Subject: [PATCH 1/2] Fix hot code reloading on Windows Prevents the exceptions that are triggered by running "v -live run ." on Windows. --- vlib/v/gen/c/fn.v | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/vlib/v/gen/c/fn.v b/vlib/v/gen/c/fn.v index 0809504f94c511..7e4a84f9ca8831 100644 --- a/vlib/v/gen/c/fn.v +++ b/vlib/v/gen/c/fn.v @@ -351,8 +351,13 @@ fn (mut g Gen) gen_fn_decl(node &ast.FnDecl, skip bool) { g.write('${type_name} no_impl_${name}(') } if is_liveshared { - g.definitions.write_string('${type_name} ${impl_fn_name}(') - g.write('${type_name} ${impl_fn_name}(') + if g.pref.os == .windows { + g.definitions.write_string('__declspec(dllexport) ${type_name} ${impl_fn_name}(') + g.write('__declspec(dllexport) ${type_name} ${impl_fn_name}(') + } else { + g.definitions.write_string('${type_name} ${impl_fn_name}(') + g.write('${type_name} ${impl_fn_name}(') + } } } else { if !(node.is_pub || g.pref.is_debug) { From 98f788e7278db01fe24396767798547a9f11fb2b Mon Sep 17 00:00:00 2001 From: Ken Ekeoha Date: Thu, 25 Apr 2024 17:21:59 +0200 Subject: [PATCH 2/2] Fix hot code reloading on Windows macro replacement --- vlib/v/gen/c/fn.v | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vlib/v/gen/c/fn.v b/vlib/v/gen/c/fn.v index 7e4a84f9ca8831..2564faf2b3b864 100644 --- a/vlib/v/gen/c/fn.v +++ b/vlib/v/gen/c/fn.v @@ -352,8 +352,8 @@ fn (mut g Gen) gen_fn_decl(node &ast.FnDecl, skip bool) { } if is_liveshared { if g.pref.os == .windows { - g.definitions.write_string('__declspec(dllexport) ${type_name} ${impl_fn_name}(') - g.write('__declspec(dllexport) ${type_name} ${impl_fn_name}(') + g.definitions.write_string('VV_EXPORTED_SYMBOL ${type_name} ${impl_fn_name}(') + g.write('VV_EXPORTED_SYMBOL ${type_name} ${impl_fn_name}(') } else { g.definitions.write_string('${type_name} ${impl_fn_name}(') g.write('${type_name} ${impl_fn_name}(')