up
This commit is contained in:
		
							parent
							
								
									163188a814
								
							
						
					
					
						commit
						3a07a9b5ed
					
				
							
								
								
									
										2
									
								
								examples/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								examples/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | |||||||
|  | a.out | ||||||
|  | a.exe | ||||||
							
								
								
									
										11
									
								
								examples/comp_run_lin.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										11
									
								
								examples/comp_run_lin.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,11 @@ | |||||||
|  | echo -n "File: " | ||||||
|  | read file | ||||||
|  | 
 | ||||||
|  | while true | ||||||
|  | do | ||||||
|  | clear && gcc $file && ./a.out | ||||||
|  | echo "----------------" | ||||||
|  | echo "Programm ended." | ||||||
|  | echo "----------------" | ||||||
|  | read _ | ||||||
|  | done | ||||||
							
								
								
									
										11
									
								
								examples/comp_run_win.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										11
									
								
								examples/comp_run_win.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,11 @@ | |||||||
|  | echo -n "File: " | ||||||
|  | read file | ||||||
|  | 
 | ||||||
|  | while true | ||||||
|  | do | ||||||
|  | clear && x86_64-w64-mingw32-gcc $file && wine a.exe | ||||||
|  | echo "----------------" | ||||||
|  | echo "Programm ended." | ||||||
|  | echo "----------------" | ||||||
|  | read _ | ||||||
|  | done | ||||||
							
								
								
									
										26
									
								
								examples/threads.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								examples/threads.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,26 @@ | |||||||
|  | #include <stdio.h> | ||||||
|  | #include <stdlib.h> | ||||||
|  | 
 | ||||||
|  | #include "../libs/threads.h" | ||||||
|  | 
 | ||||||
|  | void* task() { | ||||||
|  | 	while (1) { | ||||||
|  | 		printf("Background task running\n"); | ||||||
|  | 		wait(1); | ||||||
|  | 	} | ||||||
|  | 	return NULL; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | int main() { | ||||||
|  | 	void* thread_handle; | ||||||
|  | 	start_thread(&thread_handle, task); | ||||||
|  | 	 | ||||||
|  | 	printf("Main program continues\n"); | ||||||
|  | 	wait(5); | ||||||
|  | 
 | ||||||
|  | 	kill_thread(thread_handle); | ||||||
|  | 
 | ||||||
|  | 	printf("Background task killed\n"); | ||||||
|  | 
 | ||||||
|  | 	return 0; | ||||||
|  | } | ||||||
							
								
								
									
										10
									
								
								examples/wait.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								examples/wait.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,10 @@ | |||||||
|  | #include <stdio.h> | ||||||
|  | 
 | ||||||
|  | #include "../libs/time.h" | ||||||
|  | 
 | ||||||
|  | int main() { | ||||||
|  | 	printf("Wait 5 seconds...\n"); | ||||||
|  | 	wait(5); | ||||||
|  | 
 | ||||||
|  | 	return 0; | ||||||
|  | } | ||||||
							
								
								
									
										38
									
								
								libs/threads.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								libs/threads.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,38 @@ | |||||||
|  | #ifdef _WIN32 | ||||||
|  | #include <windows.h> | ||||||
|  | #else | ||||||
|  | #include <pthread.h> | ||||||
|  | #include <unistd.h>  | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|  | #include <stdio.h> | ||||||
|  | #include "time.h" | ||||||
|  | 
 | ||||||
|  | void start_thread(void** thread_handle, void* (*task)(void*)) { | ||||||
|  | #ifdef _WIN32 | ||||||
|  | 	HANDLE thread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)task, NULL, 0, NULL); | ||||||
|  | 	if (thread == NULL) { | ||||||
|  | 		fprintf(stderr, "Failed to create thread\n"); | ||||||
|  | 	} | ||||||
|  | 	*thread_handle = thread; | ||||||
|  | #else | ||||||
|  | 	pthread_t thread; | ||||||
|  | 	if (pthread_create(&thread, NULL, task, NULL) != 0) { | ||||||
|  | 		fprintf(stderr, "Failed to create thread\n"); | ||||||
|  | 	} | ||||||
|  | 	pthread_detach(thread); | ||||||
|  | 	*thread_handle = (void*)thread; | ||||||
|  | #endif | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | #ifdef _WIN32 | ||||||
|  | void kill_thread(void* thread_handle) { | ||||||
|  |         HANDLE thread = (HANDLE)thread_handle; | ||||||
|  |         TerminateThread(thread, 0); | ||||||
|  | } | ||||||
|  | #else | ||||||
|  | void kill_thread(void* thread_handle) { | ||||||
|  |         pthread_t thread = (pthread_t)thread_handle; | ||||||
|  |         pthread_cancel(thread); | ||||||
|  | } | ||||||
|  | #endif | ||||||
							
								
								
									
										13
									
								
								libs/time.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								libs/time.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,13 @@ | |||||||
|  | #ifdef _WIN32 | ||||||
|  | #include <windows.h> | ||||||
|  | #else | ||||||
|  | #include <unistd.h>  | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|  | void wait(int time) { | ||||||
|  | #ifdef _WIN32 | ||||||
|  | 	Sleep(time*1000); | ||||||
|  | #else | ||||||
|  | 	sleep(time); | ||||||
|  | #endif | ||||||
|  | } | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user