BuildSystem: userspace has cmake target

This commit is contained in:
Bananymous
2023-05-11 16:19:53 +03:00
parent 729ff267d7
commit 177b205c48
8 changed files with 122 additions and 32 deletions

View File

@@ -0,0 +1,17 @@
cmake_minimum_required(VERSION 3.26)
project(test CXX)
set(TEST_SOURCES
test.cpp
)
add_executable(test ${TEST_SOURCES})
target_compile_options(test PUBLIC -O2 -g)
add_dependencies(test libc-install)
target_link_options(test PUBLIC -nodefaultlibs -lc)
add_custom_target(test-install
COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/test ${BANAN_BIN}/
DEPENDS test
)

55
userspace/test/test.cpp Normal file
View File

@@ -0,0 +1,55 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#define ERROR(msg) { perror(msg); return 1; }
#define BUF_SIZE 1024
int main()
{
printf("%.2e\n", 1230.0);
printf("%.2e\n", 123.0);
printf("%.2e\n", 12.3);
printf("%.2e\n", 1.23);
printf("%.2e\n", 0.123);
printf("%.2e\n", 0.0123);
printf("%.2e\n", 0.00123);
printf("%e\n", 123.456);
printf("%.2e\n", 123.456);
printf("%.0e\n", 123.456);
printf("%#.0e\n", 123.456);
printf("%e\n", -123.456);
printf("%.2e\n", -123.456);
printf("%.0e\n", -123.456);
printf("%#.0e\n", -123.456);
printf("%e\n", 0.0);
printf("%e\n", -0.0);
return 0;
FILE* fp = fopen("/usr/include/stdio.h", "r");
if (fp == NULL)
ERROR("fopen");
char* buffer = (char*)malloc(BUF_SIZE);
if (buffer == NULL)
ERROR("malloc");
for (;;)
{
size_t n_read = fread(buffer, 1, BUF_SIZE - 1, fp);
if (n_read == 0)
break;
buffer[n_read] = '\0';
printf("%s", buffer);
}
free(buffer);
fclose(fp);
return 0;
}