Welcome to the 42 C Development Environment Template! This is a specialized development environment designed for 42 school students. The official repository for this template can be found at: https://github.com/ricardopxlcl/42-starter
This CodeSandbox template provides a complete C development environment for 42 school projects, with additional tools for testing, development, and simple file sharing capabilities.
- GCC/CC compiler
- Make build automation tool
- Clang compiler
- Debugging tools (valgrind, gdb)
- Git for version control
To use this template:
Here you can watch a video with the installation process
- Visit the template on CodeSandbox.io 42-Starter
- Click the "Fork" button in the top right corner
- Wait for the environment to be created (this may take a few moments)
- Restar your devbox to run de tasks.
- Start coding!
Note: Forking creates your own copy of the template that you can modify and save for future use.
- The environment comes pre-configured with all necessary C development tools. You need run
bash
in the terminal to use all the services. - Use
cc
to compile your C programs - Use
make
for project compilation if you have a Makefile - Use
norminette
command to check code style (42 school standard) - Use
francinette
orpaco
commands to run tests specific to 42 projects. - The PHP server starts automatically on port 8080 for simple file sharing
- Focus on C development for 42 school projects
- All development tools are installed fresh from official repositories
- Python packages are installed globally for system-wide access
- PHP and Apache are included as utilities, not as primary development tools
- When compiling your C programs, always remember to use the following flags to ensure your code meets 42's standards and catches potential issues, this command will try to compile and execute:
cc main.c -Wall -Wextra -Werror && ./a.out
We have provided two test folders to help you validate your code with Norminette and Francinette:
-
Francinette test folder:
- Path: /project/workspace/test/libft_francinette
- Contents:
libft_francinette ├── libft.a ├── libft.c ├── libft.h ├── libft.o ├── main.c └── Makefile ricardopxlcl ➜ bash ricardopxlcl ➜ cd /project/workspace/test/libft_francinette ricardopxlcl ➜ francinette
-
Norminette test folder:
- Path: /project/workspace/test/ft_putchar_norminette
- Contents:
ft_putchar_norminette └── ft_putchar.c ricardopxlcl ➜ bash ricardopxlcl ➜ cd /project/workspace/test/ft_putchar_norminette ricardopxlcl ➜ norminette
- Norminette code style checker
- Francinette (nicknamed 'paco') testing framework
- PHP and Apache for simple file sharing and downloading
- Python3-pip
- Python virtual environment support
- Install extension 42 header
- Install 42 formatter
The template automatically installs and configures:
-
Essential C development tools:
- build-essential
- gcc
- make
- clang
- valgrind
- gdb
- git
-
42 School specific tools:
- norminette
- Francinette (with aliases 'francinette' and 'paco')
-
Python tools (for supporting utilities):
- python3-pip
- python3-venv
-
File sharing utilities:
- PHP
- Apache web server
The template includes a PHP development server for simple file sharing:
- Host: localhost
- Port: 8080
- Auto-start enabled
Note: This is not for C development, but to facilitate easy file sharing and downloading.
Feel free to submit issues and enhancement requests!
This template is provided as-is under the MIT license.