주의할 점들

  1. - 항상 norm 맞추기
  2. - 비정상적 종료 절대 안 된다
  3. - 메모리 누수 확인
  4. - 컴파일시 w플래그 넣기
  5. - 메이크파일에 $(NAME), all, clean, fclean, re 규칙 넣기 </p>

</li>

  • - 보너스 제출시 메이크파일에 bonus 규칙 넣기. 보너스는 _bonus.{c/h}로 다른 파일에 작성해야 한다. 필수와 보너스는 따로 채점된다.

  • - 프로젝트에서 libft사용하게 해준 경우라면 libft라는 폴더에 메이크파일과 소스를 같이 넣어야 한다. 프로젝트 전체의 메이크파일은 libft의 메이크파일을 실행시켜서 라이브러리를 컴파일해야 한다.

  • - 실행 파일명은 pipex로 해야 한다.

  • - 에러 처리 잘 해야 함. 긴가민가하면 쉘 커맨드 '< file1 cmd1 | cmd2 > file2'가 하는 것과 비슷하게 에러 처리 해라.

  • </ol>

    허용된 함수

    open / close / read / write / malloc / waitpid / wait / free / pipe / dup / dup2 / execve / fork / perror / strerror / exit

    목표

    pipex 프로그램은 다음과 같이 실행된다.

    $\> ./pipex file1 cmd1 cmd2 file2
    이는 다음의 쉘 커맨드 실행과 동일한 역할을 한다.
    
    
    
    ```False
    $> < file1 cmd1 | cmd2 > file2

    예시

    $> ./pipex infile ``ls -l'' ``wc -l'' outfile
    ```
    
    
     \-\> "\< infile ls \-l \| wc \-l \> outfile"과
     동일하게 기능.
     
    
    
    
    ```False
    $> ./pipex infile ``grep a1'' ``wc -w'' outfile

    -> "< infile grep a1 | wc -w > outfile"과 동일하게 기능.

    보너스 파트

    (! 필수 파트가 완벽해야 함. 잘못된 사용에도 프로그램이 문제를 일으키는 경우가 없어야 한다.)

    1. - multiple pipe를 다루도록 해라

      $> ./pipex file1 cmd1 cmd2 cmd3 ... cmdn file2
      ```
      
      이는 다음과 동일.
      
      
      
      ```False
      $> < file1 cmd1 | cmd2 | cmd3 ... | cmdn > file2
      ```
      6. \- \<\<와 \>\>를 구현.