기본 콘텐츠로 건너뛰기

c++ inline

link: https://msdn.microsoft.com/ko-kr/library/bw1hbe6y.aspx

inline 명령어 사용시 유의점

1. 매크로에서는 파라메터가 반복해서 정의 되는 문제가 있지만, 인라인 함수에서는 하나의 파라메터로 정의되므로, 위의 링크 내용 참고

2. 매크로처럼 호출한 부분에 코드가 대치 되므로(컴파일러 따라 다름, 100%는 아님) 함수 크기가 커지면, inline 명령어 정의를 제거할 것인지 여부를 검토해야 한다.

3. inline 함수의 컴파일은 호출 된 부분에 코드가 삽입되는 시점에 해당 코드 내용을 찾아서 대치하는 구조이므로, 클래스화 했을 경우, 클래스 내부에서 호출하지 않고, 외부에서만 호출되고 있다면, 해당 코드는 클래스 내부에서 오브젝트 코드로 만들어지지 않을 가능성이 있다.(보통 정의 되지 않음 함수라는 링크 오류를 출력한다.)

4. 3번의 문제처럼 inline 함수는 호출된 부분에 정의 부분을 찾아서 삽입하는 방식을 사용하는 가능하면 헤더 파일에 정의하는 것이 좋다.

댓글

이 블로그의 인기 게시물

[c#.net] WPF 사용 중 xaml관련 실행시 오류 와 대처 방법

wpf 사용 중 xaml관련 실행시 오류 가 발생해서 자그마치 2일을 소비 했다..--;; 오류 내용은 아래와 같다. ================================== 'System.Windows.Markup.XamlParseException' 형식의 첫째 예외가 PresentationFrameWork.dll에서 발생했습니다. 추가 정보: '지정된 바인딩 제약 조건과 일치하는 'PapaZone.MainWindow' 형식에 대한 생성자 호출에서 예외가 throw 되었습니다.' 줄 번호 '21' 및 줄 위치 '9' 이 예외에 대한 처리기가 있으면 프로그램을 안전하게 계속할 수 있습니다. [] 이 예외 형식이 throw되면 중단 ================================== 위 Xaml 오류 메세지만으로는 내용 추적 불가하여, 도대체 뭔가 했다. 검색해도 뚜렷한 답변은 없었지만, 여러가지 의견을 종합해 보면 아래와 같다. 1. xmlns 관련 파일 과 관련된 파일 로딩 실패 이거나, 2. 신규로 추가된 namespace 에 속한 태그 사용시 오류로 판단되어 태그 하나씩 삽입하며 테스트 해봐야 한다고 함. 해결한 지금에 원인을 보면, xaml 에서 clr-namespace 로 추가된 항목들이 로딩에 실패해서 발생한 것이며, 추가된 항목은 있었으나, 이것과 연결된 파일이 없어서 로딩되지 않는 것이 문제였다. 오늘도 즐거운 하루~~

[MSSQL] SQL Server 에 원격 접속을 못하는 경우 조치 방법

[MSSQL] SQL Server 에 원격 접속을 못하는 경우 조치 방법 내부 오류 추적 결과 다음과 같이 나옴. [Microsoft][ODBC Driver 13 for SQL Server]TCP Provider: 대상 컴퓨터에서 연결을 거부했으므로 연결하지 못했습니다. SqlState : 08001, NativeError : 10061 오류 원인과 처리 1.SQL 서버 로그인 계정 틀린 경우 -> A.SQL Managerment Studio에서 사용할 DB 접속 '로그인' 사용할 계정의 아이디/암호 확인 2.TCP/IP 접속 권한이 없는 경우 -> A.SQL Server 구성 관리자를 실행에서 TCP/IP 허용 되어 있는지 확인 B. 서비스 포트 값이 (보통 1433) 맞는지 확인 C. 외부에서 접속하는 경우에는 방화벽 허용 되엉 있는지 확인 C. 서비스 재시작 3.Windows 인증 모드만 허용 인 경우 -> A.SQL Managerment Studio에서 사용할 DB 접속하고, 우클릭 하여 속성 정보 확인해서 B.연결에서 인증모드 '로그인' 사용할 계정의 아이디/암호 확인 4.'exec Sp_ReadErrorLog' 명령어를 사용해서, 로그인 실패 로그를 확인해서 원인을 분석한다.

[링크] [Python] Kivy 한글 예제

링크:  http://www.complexity.co.kr/?p=443 폰트 복사를 하고, 폰트 경로를 지정해 줘야 한글 출력이 됨... 나는 kivy를 아래의 폴더처럼 구성이 되어 있다. \Kivy-1.9.0-py2.7-win32-x64 윈도우 시스템 폴더의 한글 폰트를 가져다 아래의 폴더에 복사하면 된다 \Kivy-1.9.0-py2.7-win32-x64\kivy27\kivy\data\fonts 난 네이버 나눔 고딕이 좋아보여서 나눔 고딕 폰트('NanumGothic.ttf')를 복사 했음 아래는 실행한 결과, 그리고, 아래는 kivy 이용한 한글 Hello World 코드 # coding: utf-8 from   kivy . app   import   App from   kivy . uix . button   import   Button   import   os class   TestApp ( App ): def   build ( self ): fontName = '/' . join ([ os . getenv ( 'SystemRoot' ), '/fonts/NanumGothic.ttf' ]) return   Button ( text = 'Hello World\n안녕?' , font_name = fontName ) TestApp (). run ()