[ Foro de C++ ]

sobre el makefile de tetris, boleanos, threads, alogaritmos, entrada i/o(fstream, iostream)

28-Feb-2021 12:21
Invitado (Iv?n Rodellas garc?a)
1 Respuestas

.PHONY: clean setup

CXX := g++
BIN := bin
BUILD := build
STDV := -std=c++11
CXXFLAGS := -O2 -MMD -MP
OFLAGS := -O2 -MMD -MP

OBJECTS := main.o shape.o screen.o game.o functions.o
OBJECT_OUTPUTS := $(patsubst %, $(BUILD)/%, $(OBJECTS))
DEPENDS := $(patsubst %.o,%.d,$(OBJECTS))

ifneq ($(OS),Windows_NT)
   UNAME_S := $(shell uname -s)
   ifeq ($(UNAME_S),Linux)
       CXXFLAGS += -lncursesw
   endif
   ifeq ($(UNAME_S),Darwin)
       CXXFLAGS += -lncurses
   endif
endif

main: setup $(OBJECT_OUTPUTS)
$(CXX) $(OBJECT_OUTPUTS) $(STDV) $(CXXFLAGS) -o $(BIN)/tetris

$(BUILD)/%.o: src/%.cpp
$(CXX) $(STDV) $(CXXFLAGS) -MT $@ $< -c -o $@

install:
install -m 0755 $(BIN)/tetris /usr/local/bin

brewinstall: setup
install -m 0755 $(BIN)/tetris $(newpath)/$(BIN)/tetris

clean:
rm -rf build/ bin/

setup:
mkdir -p $(BIN) $(BUILD) ${newpath}ç



Identificador de Procesos
Cada proceso tiene un identificador único (PID). Este es un entero no negativo asignado por el sistema. Puede ser usado para garantizar unicidad dentro de una máquina.

   Aplicación: este valor es usado por las funciones:
   #include <stdio.h>
   char *tmpnam(char *ptr);
   la cual retorna un pathname único.
   y
   FILE *tmpfile(void);
   Este archivo es automáticamente borrado or removido cuando es cerrado.

Algunos procesos importantes:

   Scheduler -> Identificador 0
   /sbin/init -> Identificador de proceso 1,  Es el padre de todos los procesos. Su rol primario es crear procesos desde un script (archivo de comandos) ubicado en /etc/inittab.

Funciones para obtener el identificador de un prceso desde un código en C:
#include <sys/types.h>
#include <unistd.h>


fstream es entrada y salida de datos como iostream






STDV := -std=c++11
CXXFLAGS := -O2 -MMD -MP
OFLAGS := -O2 -MMD -MP


Para que sirve esto del makefile

Esta claro que soporta linux, mac os darwin y windows




#include <iostream>
#include <vector>
#include <string>
#include <sstream>
#include <ncurses.h>
#include <fstream>
#include <unistd.h>
#include <cstdlib>
#include <stdio.h>
#include <random>
#include <cstring>
#include <algorithm>
#include <unistd.h>


ncurses, si no me equivoco es para treads, procresos pid en la memoria, boleanos, vectorores, alogaritmos, y threads.


Ummm

El listado es facil pero hay cosas del makefile que me confunde, lo volvere a mirar más tarde.










28-Feb-2021 16:23
Nacho Cabanes (+84)

Normalmente, las respuestas están mucho más cerca de lo que crees. Basta con que mires en los cursos que tienes en esta web.

Lo básico de los makefiles:

https://www.aprendeaprogramar.com/mod/resource/view.php?id=667

Lo básico de ncurses, que no tiene nada que ver con hilos ni procesos:

https://www.aprendeaprogramar.com/mod/resource/view.php?id=663






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)