일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- libft
- so_long
- printf
- str함수
- 서울42
- get next line
- ft_printf
- 파리 피크닉
- 지베르니 가을
- get_next_line
- 굿노트 스티커
- push swap 설명
- ecole42
- push swap
- 와인선별방법
- 지베르니
- 와인 고르기
- 에꼴42
- 42 pipex
- 42
- pipex
- 포르투갈 여행
- 42 libft
- pipex 42
- 지베르니 여름
- gnl
- 42 so_long
- 알고리즘 기초
- 이지젯
- 지베르니 계절 추천
- Today
- Total
뇌 마음 반반저장소
[42_pipex] 시작하며 본문
Résumé 요약:
Ce projet est la découverte en détails
et par la programmation d’un mécanisme UNIX que vous connaissez déjà.
이 프로젝트는 당신이 이미 알고 있는 유닉스 메커니즘의 상세하고 프로그래밍적인 발견이다.
Version: 2
Chapitre I
Préambule 서문
Cristina : "Allez danser la salsa quelque part :)"
크리스티나: 어디 가서 살사 춤이나 추자고 :)
(무슨 유머인지..)
Chapitre II
Règles communes : 공통의 원칙
• Votre projet doit être écrit en C.
당신의 프로젝트는 C로 써야 합니다.
• Votre projet doit être codé à la Norme. Si vous avez des fichiers ou fonctions bonus, celle-ci seront inclues dans la vérification de la norme et vous aurez 0 au projet en cas de faute de norme.
당신의 프로젝트는 표준(Norme)에 따라 코딩되어야 합니다. 보너스 파일이나 기능이 있는 경우 표준 검증에 포함되며 표준 결함이 있는 경우 프로젝트에서 0이 됩니다.
• Vos fonctions de doivent pas s’arrêter de manière inattendue (segmentation fault, bus error, double free, etc) mis à part dans le cas d’un comportement indéfini. Si cela arrive, votre projet sera considéré non fonctionnel et vous aurez 0 au projet.
정의되지 않은 동작의 경우를 제외하고 기능이 예기치 않게 중지되지 않아야 합니다(세그먼트 오류, 버스 오류, 이중 해제 등). 이런 일이 발생하면 프로젝트가 작동하지 않는 것으로 간주되어 프로젝트에 0이 됩니다.
• Toute mémoire allouée sur la heap doit être libéré lorsque c’est nécessaire. Aucun leak ne sera toléré.
힙에 할당된 모든 메모리는 필요할 때 해제되어야 합니다. 누출은 허용되지 않습니다.
• Si le projet le demande, vous devez rendre un Makefile qui compilera vos sources pour créer la sortie demandée, en utilisant les flags -Wall, -Wextra et -Werror. Votre Makefile ne doit pas relink.
프로젝트에 필요한 경우 -Wall, -Wextra 및 -Werror 플래그를 사용하여 소스를 컴파일하여 요청된 출력을 생성하는 Makefile을 렌더링해야 합니다. Makefile은 다시 연결하면 안 됩니다.
• Si le projet demande un Makefile, votre Makefile doit au minimum contenir les règles $(NAME), all, clean, fclean et re.
프로젝트에 Makefile이 필요한 경우 Makefile에는 적어도 $(NAME), all, clean, fclean 및 re 규칙이 포함되어야 합니다.
• Pour rendre des bonus, vous devez inclure une règle bonus à votre Makefile qui ajoutera les divers headers, librairies ou fonctions qui ne sont pas autorisées dans la partie principale du projet. Les bonus doivent être dans un fichier différent : _bonus.c/h}. L’évaluation de la partie obligatoire et de la partie bonus sont faites séparément.
보너스를 렌더링 하려면 프로젝트의 주요 부분에서 허용되지 않는 다양한 헤더, 라이브러리 또는 기능을 추가하는 보너스 규칙을 Makefile에 포함해야 합니다. 보너스는 다른 파일에 있어야 합니다: _bonus.c/h}. 필수 부분과 보너스 부분의 평가는 별도로 이루어집니다.
• Si le projet autorise votre libft, vous devez copier ses sources et son Makefile associé dans un dossier libft contenu à la racine. Le Makefile de votre projet doit compiler la librairie à l’aide de son Makefile, puis compiler le projet.
프로젝트가 libft를 인증하는 경우 해당 소스 및 관련 Makefile을 루트에 포함된 libft 폴더에 복사해야 합니다. 프로젝트의 Makefile은 해당 Makefile을 사용하여 라이브러리를 컴파일한 다음 프로젝트를 컴파일해야 합니다.
• Nous vous recommandons de créer des programmes de test pour votre projet, bien que ce travail ne sera pas rendu ni noté. Cela vous donnera une chance de tester facilement votre travail ainsi que celui de vos pairs.
이 작업은 반환되거나 채점되지 않지만 프로젝트에 대한 테스트 프로그램을 만드는 것이 좋습니다. 이것은 당신의 작업과 동료의 작업을 쉽게 테스트할 수 있는 기회를 제공할 것입니다.
• Vous devez rendre votre travail sur le git qui vous est assigné. Seul le travail déposé sur git sera évalué. Si Deepthought doit corriger votre travail, cela sera fait à la fin des peer-valuations. Si une erreur se produit pendant l’évaluation Deepthought, celle-ci s’arrête.
본인에게 할당된 git에 대한 작업을 제출해야 합니다. git에 업로드된 작업만 평가됩니다. Deepthought에서 작업을 수정해야 하는 경우 동료 평가가 끝날 때 완료됩니다. Deepthought 평가 중에 오류가 발생하면 평가가 중지됩니다.
Chapitre III
Partie obligatoire
Nom du programme 프로그램이름 : pipex
Fichiers de rendu : Makefile, *.h, *.c
렌더링 파일: Makefile, *.h, *.c
Makefile 맥파일 : NAME, all, clean, fclean, re
Arguments : file1 cmd1 cmd2 file2
컴파일 인자: file1 cmd1 cmd2 file2
Fonctions externes autorisées
허용된 외부 함수
• open, close, read, write, malloc, free, perror, strerror, access, dup, dup2, execve, exit, fork, pipe, unlink, wait, waitpid
• ft_printf et tout équivalent que VOUS avez codé
ft_printf와 같은 내가 만든 모든 코드
Libft autorisée : Oui
libft 사용여부 : 넹
Description : Ce projet consiste à gérer des pipes.
설명: 이 프로젝트는 파이프들을 관리하는 것입니다.
Votre programme sera exécuté comme suit : ./pipex file1 cmd1 cmd2 file2
당신의 프로그램은 다음과 같이 실행될 것입니다.
Il doit prendre 4 arguments :
이것은 4개의 인자를 가집니다.
• file1 et file2 sont des noms de fichier.
file1과 file2는 파일 이름이다.
• cmd1 et cmd2 sont des commandes shell avec leurs paramètres.
cmd1과 cmd2는 매개 변수를 가진 셸 명령어입니다.
Votre programme doit se comporter exactement comme la commande shell suivante :
당신의 프로그램은 다음과 같은 셸 명령처럼 동작해야 한다
$ < file1 cmd1 | cmd2 > file2
III.1 Exemples 예시
$ ./pipex infile "ls -l" "wc -l" outfile
Devrait être identique à < infile ls -l | wc -l > outfile
< infile ls- l | wc- l > outfile 과 동일해야 함
$ ./pipex infile "grep a1" "wc -w" outfile
Devrait être identique à < infile grep a1 | wc -w > outfile
< infile grep a1 | wc- w > outfile 과 동일해야 함
III.2 Prérequis 전제조건
Votre projet doit respecter les règles suivantes :
당신의 프로젝트는 다음 규칙을 준수해야 합니다.
• Vous devez rendre un Makefile qui compilera vos fichiers sources. Il ne doit pas relink.
소스 파일을 컴파일할 Makefile을 만들어야 합니다. 리링크 안 돼요.
• Vous devez gérer les erreurs avec du bon sens. En aucun cas votre programme ne doit quitter de manière inattendue (erreur de segmentation, erreur de bus, double free, etc.).
당신은 실수에 대한 상식을 가지고 대처해야 합니다. 어떤 경우에도 당신의 프로그램이 예기치 않게 종료되어서는 안 된다. (분할 오류, 버스 오류, 더블 프리 등)
• Votre programme ne doit pas avoir de fuites de mémoire.
프로그램에 메모리 누수가 없어야 합니다.
• Si vous avez le moindre doute, référez-vous à la commande shell : < file1 cmd1 | cmd2 > file2
만약 당신이 조금이라도 의심이 있다면, 셸 명령을 참고하세요. : < file1 cmd1 | cmd2 > file2
'42 > pipex' 카테고리의 다른 글
[42_pipex] 함수1. pipe, fork, wait, waitpid 자세한 설명 (0) | 2023.01.07 |
---|---|
[42_pipex] 탐구4. inode, 파일권한(chmod), 링크파일(하드, 심볼릭) 쉽게 알아보기 (0) | 2023.01.07 |
[42_pipex] 탐구3. 부모·자식 프로세스 개념 쉽게 알아보기 (0) | 2023.01.07 |
[42_pipex] 탐구2. 프로세스의 과정 쉽게 알아보기 (0) | 2023.01.06 |
[42_pipex] 탐구1. pipex 구조 자세히 살펴보기 및 예제 (0) | 2023.01.05 |