2 years ago

#45111

test-img

AidanGamin

How do I remove the Terminal Output in C

Situation

I am working on an SDL2 program and I want to remove the black terminal window that shows up everytime I fire the program, its kinda annoying to have a black window randomly in my screen :/

What I've Tried

I've tried looking up in Google but nothing actually shows up that can fix my situation

An SDL2 Program With A Terminal Window

Here's The Rest Of My Code

#include <stdio.h>
#include <SDL.h>

int main(int argc, char **args) {

    // SDL Window Declaration
    SDL_Surface* screen;
    SDL_Window* window;

    SDL_Rect plrBox;
    SDL_Rect plrMot;

    plrMot.x = 1;
    plrMot.y = 1;

    plrBox.x = 0;
    plrBox.y = 0;
    plrBox.w = 10;
    plrBox.h = 10;

    // SDL Initialization
    if (SDL_Init(SDL_INIT_EVERYTHING) < 0) {
        printf("Fail At SDL_Init()\n");
        return 1;
    }

    // Window Creation
    window = SDL_CreateWindow(
        "Paint",
        SDL_WINDOWPOS_UNDEFINED,
        SDL_WINDOWPOS_UNDEFINED,
        400,
        300,
        SDL_WINDOW_SHOWN
    );

    if (!window) {
        printf("Fail at SDL_CreateWindow\n");
    }

    // Surface Creation
    screen = SDL_GetWindowSurface(window);

    if (!screen) {
        printf("Fail at Screen\n");
        return 1;
    }

    int run = 1;
    while (run) {
        SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format, 255, 255, 255));
        SDL_FillRect(screen, &plrBox, SDL_MapRGB(screen->format, 0, 0, 0));
        
        plrBox.x += plrMot.x;
        plrBox.y += plrMot.y;
        
        if (plrBox.y > 300) {
            plrMot.y = -plrMot.y;
        }
        if (plrBox.x > 400) {
            plrMot.x = -plrMot.x;
        }
        
        if (plrBox.y < 0) {
            plrMot.y = -plrMot.y;
        }
        if (plrBox.x < 0) {
            plrMot.x = -plrMot.x;
        }
        
        SDL_Event events;
        while (SDL_PollEvent(&events)){
            switch (events.type) {
                case SDL_QUIT:
                    run = 0;
            }
        }
        SDL_UpdateWindowSurface(window);
    }

    // Quit
    window = NULL;
    screen = NULL;
    
    SDL_Quit();

    return 0;
}

I use mingw for all the comments out there

c

gcc

mingw

sdl

c

gcc

mingw

sdl

0 Answers

Your Answer

Accepted video resources