/*
        PartAdder_sin.cpp
        전달된 인자 사이의 수 덧셈.
*/

#include <stdio.h>
#include <windows.h>
#include <tchar.h>

int _tmain(int argc, TCHAR* argv[])
{
        if(argc!=3)
                return -1;

        DWORD start=_ttoi(argv[1]);
        DWORD end=_ttoi(argv[2]);

        DWORD total=0;

        for(DWORD i=start; i<=end; i++)
                total+=i;

        return total;
}


일단 이거랑

/*
        NonStopAdderManager.cpp

        프로그램 설명.
              1~10까지 덧셈하여 출력
              문제점을 지니고 있는 예제
*/

#include <stdio.h>
#include <windows.h>
#include <tchar.h>

int _tmain(int argc, TCHAR* argv[])
{
        STARTUPINFO si1={0,};
        STARTUPINFO si2={0,};
        
        PROCESS_INFORMATION pi1;
        PROCESS_INFORMATION pi2;
        
        DWORD return_val1;
        DWORD return_val2;

        TCHAR command1[]=_T("PartAdder.exe 1 5");
        TCHAR command2[]=_T("PartAdder.exe 6 10");

  DWORD sum=0;

        si1.cb=sizeof(si1);
        si2.cb=sizeof(si2);


        CreateProcess(NULL,
                              command1,
                                  NULL,
                                  NULL, 
                                  TRUE, 
                                  0, 
                                  NULL, 
                                  NULL, 
                                  &si1, 
                                  &pi1
        );  //CreateProcess 1

        CreateProcess(NULL,
                              command2,
                                  NULL,
                                  NULL, 
                                  TRUE, 
                                  0, 
                                  NULL, 
                                  NULL, 
                                  &si2, 
                                  &pi2
        );  //CreateProcess 2

        CloseHandle(pi1.hThread);
        CloseHandle(pi2.hThread);        

        GetExitCodeProcess(pi1.hProcess, &return_val1);
        GetExitCodeProcess(pi2.hProcess, &return_val2);

        if(return_val1==-1 || return_val2==-1)        
                return -1; //비 정상적 종료. 
        
        sum+=return_val1;
        sum+=return_val2;

        _tprintf(_T("total : %d \n"), sum);
        
        CloseHandle(pi1.hProcess);
        CloseHandle(pi2.hProcess);

        return 0;
}
이거
non~.cpp로 실행하면 518이 결과값으로 뜬다는데 개 죶까는소리고 실제로는 -171284848이따위로뜸