#include <spvm_native.h>
#include "mylib.hpp"
#include <iostream>
#include <sstream>
#include <thread>
extern "C" {
void ThreadFunc(int num) {
std::cerr << "ThreadFunc " << num << std::endl;
}
int32_t SPVM__TestCase__NativeAPICpp__call_cpp_func(SPVM_ENV* env, SPVM_VALUE* stack) {
(void)env;
(void)stack;
int32_t value = stack[0].ival;
value *= 2;
std::ostringstream str_stream;
str_stream << "abc";
std::thread th1(ThreadFunc, 1);
th1.join();
stack[0].ival = value;
return 0;
}
int32_t SPVM__TestCase__NativeAPICpp__call_native_func(SPVM_ENV* env, SPVM_VALUE* stack) {
(void)env;
(void)stack;
int32_t value = stack[0].ival;
value = Foo::mul3((int)value);
spvm_warn("spvm_warn test: %s %d", "aaa", 3);
spvm_warn("spvm_warn test:");
spvm_warnf(env->api->runtime->get_spvm_stderr(env->runtime), "spvm_warnf test: %s %d", "aaa", 3);
spvm_warnf(env->api->runtime->get_spvm_stderr(env->runtime), "spvm_warnf test:Foo");
const char* func_name = __func__;
stack[0].ival = value;
return 0;
}
}