디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

서버프로그래밍만 하고살고싶다..

마호로(59.14) 2020.02.22 17:23:03
조회 100 추천 0 댓글 0
														


viewimage.php?id=3dafdf21f7d335ab67b1d1&no=24b0d769e1d32ca73ded83fa11d0283177940c12fe472eea84be02aa9a6212b171fda134d7183ac4e063c2c6701cbb7b2d54a226f56bbf6a7bbc88879c1e2f8fd1cbdcfd6c5d



void FileSetupUpdate(void)
{
    SaveDataIndex *UpdateCurrentIndex;
    BOOL IsFileChange;


    if(GetTickCount()-LastFileChangTick <= 100)
        return;

    EnterCriticalSection(&CS_ReadFile);
    EnterCriticalSection(&CS_SaveFile);
    

    IsFileChange=FALSE;

    // 파일이없거나 비었을경우
    if(IndexFileItemCnt == 0)IsFileChange=TRUE;
    else if(IndexFileBase)
    {
        // 현재까지 진행된 위치를얻음
        UpdateCurrentIndex=(SaveDataIndex*)IndexFileBase;

        // 파일을끝까지 다읽었을경우
        if(UpdateCurrentIndex->Offset.QuadPart >= IndexFileItemCnt)
        {
            IsFileChange=TRUE;
        }
    }
        

    // 파일을교환해야하는 조건
    if(IsFileChange)
    {
        LastFileChangTick=GetTickCount();

        // 인덱스파일이 매핑되어있다면
        if(IndexFileMapping)
        {
            // 이전인덱스파일의 MMF를 해제한다
            if(IndexFileBase)UnmapViewOfFile(IndexFileBase);
            CloseHandle(IndexFileMapping);

            // 인덱스파일 내용 지우기
            SetFilePointer(hIndexFile[!SaveFileNo],0,0,FILE_BEGIN);
            SetEndOfFile(hIndexFile[!SaveFileNo]);

            // 
            SetFilePointer(hSaveFile[!SaveFileNo],0,0,FILE_BEGIN);
            SetEndOfFile(hSaveFile[!SaveFileNo]);

            FlushFileBuffers(hIndexFile[!SaveFileNo]);
            FlushFileBuffers(hSaveFile[!SaveFileNo]);
        }

        // 초기화
        SavedFileSize.QuadPart=0;
        IndexFileMapping=NULL;
        IndexFileBase=NULL;
        IndexFileSize.QuadPart=0;
        IndexFileItemSendCnt=0;
        
        IF_Cnt=0;
        AMF=0;// 디버깅용 변수
        SumDataCnt=0;// 디버깅용 변수

        // 파일인덱스 교환
        SaveFileNo=!SaveFileNo;



        // 새료쓰여질 인덱스파일 파일을 셋팅한다
        LARGE_INTEGER FileSize;
        // 파일크기얻어냄
        GetFileSizeEx(hIndexFile[SaveFileNo],&FileSize);

        // 새로만들어진 파일이다
        if(FileSize.QuadPart == 0)
        {
            // 진행위치 옵셋초기값으로 저장
            DWORD Written;
            SaveDataIndex Info;

            Info.Offset.QuadPart=0;
            Info.SendFlag='_';
            WriteFile(hIndexFile[SaveFileNo],&Info,sizeof(SaveDataIndex),&Written,NULL);
        }

    
        // 읽어올저장파일의 크기를구한다
        GetFileSizeEx(hSaveFile[!SaveFileNo],&SavedFileSize);

        // 읽어올인덱스파일을 셋팅한다
        GetFileSizeEx(hIndexFile[!SaveFileNo],&IndexFileSize);

        // 몇개의 데이터가 들어있는지 계산한다
        IndexFileItemCnt=(IndexFileSize.QuadPart-sizeof(SaveDataIndex))/sizeof(SaveDataIndex);
        if(IndexFileItemCnt < 0)IndexFileItemCnt=0;

        // 인덱스데이터가 있으면
        if(IndexFileItemCnt > 0)
        {
            // 파일매핑
            IndexFileMapping=CreateFileMapping(
                hIndexFile[!SaveFileNo],
                NULL,
                PAGE_READWRITE,
                0,
                0,
                NULL);

    
            if(IndexFileMapping)
            {
                // 포인터 얻어내기
                IndexFileBase=(BYTE*)MapViewOfFile(
                    IndexFileMapping,
                    FILE_MAP_READ|FILE_MAP_WRITE,
                    0,0,
                    0);

                if(!IndexFileBase)
                    CloseHandle(IndexFileMapping);

            }
        }

        // 매핑에 실패했을경우 
        if(!IndexFileBase)
            IndexFileItemCnt=0;

        // 새로운 저장데이터&인덱스 파일의 파일포인터를 최후미에 갔다둠
        SetFilePointer(hSaveFile[SaveFileNo],0,0,FILE_END);
        SetFilePointer(hIndexFile[SaveFileNo],0,0,FILE_END);

        if(IndexFileItemCnt > 0)
            FileChangPerSec++;
    }

    LeaveCriticalSection(&CS_SaveFile);
    LeaveCriticalSection(&CS_ReadFile);
    
}


위에껀 오토바이사고로 두다리 부러졌을대 마약성 진통재 먹으면서


만든코드인데 지금보니 신기함


소스가 긴대 DC  업로드 한계때문에 잘라내다보니 얼마  표시못함


서버 안되면 ㅈ된다는 압박감과  만드는재미 크...


재미나고 좋음

추천 비추천

0

고정닉 0

0

원본 첨부파일 1

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 논란보다 더 욕 많이 먹어서 억울할 것 같은 스타는? 운영자 24/09/23 - -
이슈 [디시人터뷰] '더 인플루언서' 표은지, 귀여움과 섹시함을 겸비한 모델 운영자 24/09/26 - -
1321684 간단한 베릴로그 질문 하나만 받아줘요 [3] ㅇㅇ(58.234) 20.05.02 78 0
1321682 AI떡밥이누.. 개인적으로 AI가 못하는건 없다고 봄 [3] ㅇㅇ(59.1) 20.05.02 71 0
1321681 구글 광고도 구매력 있는 사람들이 많이 봐야지 않나? [2] ㅇㅇㅆㄱㄴ(221.147) 20.05.02 51 0
1321678 난 의료ai가 조언자로 자리잡을 듯 [2] ㅇㅇ(175.198) 20.05.02 50 0
1321677 AI가 프로그램으로 탄생 했으니까 프로그램은 못하는거 아님, ㅇㅇ(223.33) 20.05.02 28 0
1321676 근데 바둑ai 생긴 뒤로 프로바둑기사 직업은 여전히 존재해 [2] ㅇㅇ(175.198) 20.05.02 84 0
1321675 컴퓨터만 쳐하지말고 다른 안목을 길러라 [3] ㅋㅋ(116.43) 20.05.02 103 0
1321674 학벌은 특정 분야에 꼭 필요하다 [1] ㅇㅇ(223.62) 20.05.02 56 0
1321672 인력거꾼 일자리 사라지니까 자동차 도입하지 말자는 병신들 [14] ㅇㅇ(175.196) 20.05.02 153 0
1321671 고성 산불 12시간 만에 주불 진화 병수(182.227) 20.05.02 84 0
1321670 컴공 졸업프로젝트로 아두이노 드론 어떠냐 [1] ㅇㅇ(125.128) 20.05.02 112 0
1321669 컴공은 타 분야 전공자가 복전하면 시너지가 크다 [1] ㅇㅇ(223.39) 20.05.02 93 0
1321668 남들이 만든거 갖다쓰자 [1] ㅇㅇ(211.36) 20.05.02 48 0
1321667 여고생 암내는 무슨 냄새나? ㅇㅇ(106.102) 20.05.02 47 0
1321666 컴공은 성적맞춰서 오면 병신인곳이다 [7] ㅇㅇ(185.100) 20.05.02 181 0
1321665 개발자는 대체 안 된다 [1] ㅇㅇ(223.39) 20.05.02 68 0
1321664 공부할때마다 영어 화자였으면 싶다. ㅇㅇ(220.119) 20.05.02 29 0
1321663 정치는 비판적으로 받아들여야 한다 ㅇㅇ(223.39) 20.05.02 51 0
1321662 예비신랑 바람 폭로에 ‘류리가람a’ 진률희, “용서했다 병수(182.227) 20.05.02 195 0
1321661 시급 얼마주면 C# 과외해줄수 있냐 (디코) [2] 포세이큰갤로그로 이동합니다. 20.05.02 84 0
1321660 근데 ai한테 대체당할정도의 수준의 일자리면 대체되는게 맞음 [8] ㅋㅋ(116.43) 20.05.02 102 0
1321658 c++ vector 초기화 시에 [1] 캐럿갤로그로 이동합니다. 20.05.02 64 0
1321655 돈 조금만 줘도 일해줌 [2] ㅇㅇ(59.11) 20.05.02 47 0
1321653 겨울쌤 맞아? 미쓰 베트남·사격선수 병수(182.227) 20.05.02 86 0
1321652 건강보험 나 왤케 많이 나오지 [7] ㅡㅡ(175.223) 20.05.02 52 0
1321651 기술 블로그 해보려했는데 시간 존나들어서 접음 [3] ㅇㅇ(49.142) 20.05.02 97 0
1321649 c언어 짝수의 중간값은 어떻게 구하나요? 1~6라면 3과 4 이런 식으로 [1] ㅇㅇ(121.172) 20.05.02 68 0
1321648 앞으로는 정치적인 조직력 있는 직업군이 살아남는다 [3] ㅇㅇ(203.226) 20.05.02 61 0
1321647 근데 20대 남성빼고 다 대깨문이야 [5] ㅋㅋ(116.43) 20.05.02 107 0
1321646 인터넷사이트 글 백업하는 프로그램 [2] ㄴㅇㅇ(58.231) 20.05.02 53 0
1321645 국비지원 할 돈으로 ㅇㅇ(121.137) 20.05.02 73 0
1321642 AI가 코딩하면 어떻게 되냐 [3] ㅇㅇ(223.33) 20.05.02 80 0
1321640 개발자는 좌좀이 많으면서 노조는 왜 없음? [7] ㅇㅇ(223.33) 20.05.02 87 1
1321638 신기술에 눈깔뒤집혀서 달려드는거 이해안됨 [2] ㅇㅇ갤로그로 이동합니다. 20.05.02 143 0
1321637 원전 위험한건 맞잖아? [14] ㅇㅇ(118.235) 20.05.02 174 0
1321636 재난소득 때문에 문재인 좋아졌다는 놈이 진심 개빡대가리지 [2] ㅇㅇ(175.196) 20.05.02 61 0
1321634 한국의 문제점은 과학기술정책에 공무원 입김이 너무 강함 [3] ㅋㅋ(116.43) 20.05.02 90 0
1321631 이과가 문재인을 좋아할리 없자나 [6] ㅇㅇ갤로그로 이동합니다. 20.05.02 126 1
1321630 왜 이렇게 대놓고 문재인 빨아재끼는 놈들이 많아진거냐? [3] ㅇㅇ(182.224) 20.05.02 74 0
1321627 구독자 415명/ 1000명 [2] 킹스퍼거리보갤로그로 이동합니다. 20.05.02 57 0
1321626 노마드 30마넌짜리 풀스택 리액트 강의 괜찮음? ㅇㅇ(220.119) 20.05.02 170 0
1321625 그럼 학부때 뭐하는게 좋음 [11] ㅋㅋ(116.43) 20.05.02 226 0
1321624 형들 포트폴리오 아이디어 떠올랐는데 제작 질문좀 ! [9] ㅇㅇ(59.11) 20.05.02 75 0
1321622 로켓펀치에 지들 포트폴리오 올린사람 나밖에없네 [1] ㅇㅇ(59.11) 20.05.02 97 0
1321619 프갤 ㅎㅇ [4] ㅇㅇ(211.36) 20.05.02 50 0
1321614 플갤 도움 진짜 많이된다 [8] ㅇㅇ(121.169) 20.05.02 171 0
1321613 님들 이거 외 않대요? [1] ㅇㅇ(175.120) 20.05.02 63 0
1321612 동양ㅇ에선 이런일 절대 안 일어날거같애 [5] ㅇㅇㅆㄱㄴ(221.147) 20.05.02 78 0
1321611 C#] str = string 이야? string이 뭐야? [2] 포세이큰갤로그로 이동합니다. 20.05.02 65 0
1321610 아 객체 중간고사 좆박았ㄴ네 시발 ㅇㅇ(122.43) 20.05.02 37 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2