[ Foro de C++ ]
.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.
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.)