나중에 Visual C ++ win32 프로젝트를 크로스 플랫폼으로 변환 할 수 있습니까?

user9392881

크로스 플랫폼에서 win32 정적 라이브러리의 코드를 사용할 수 있는지 아는 사람이 있습니까? 코드를 약간 변경해야한다는 것을 알고 있지만 C ++ 코드는 클래스를 제외한 모든 플랫폼에서 동일하다고 생각합니다. 간단한 유형의 경우 누군가가 int16_t 또는 int16_fast_t를 대신 사용하거나 예를 들어 짧게 사용하라고 말했습니다. Visual Studio에서 헤더와 파일을 복사하고 코드 라이트를 사용하여 Mac 용으로 컴파일 할 수 있다는 것이 맞습니까? 코드 자체가 크로스 플랫폼 인 경우?

친애하는,

케이

마이클 켄젤

해당 라이브러리에있는 내용에 따라 다릅니다. Visual C ++ Win32 정적 라이브러리 프로젝트라는 사실은 라이브러리가 컴파일되는 방법을 알려줍니다. 해당 라이브러리에 들어가는 코드에 대해서는 아무 것도 알려주지 않습니다. 모두 완벽하게 이식 가능한 표준 C ++ 코드 일 수 있습니다. 모든 두 번째 줄이 분명히 이식 할 수없는 Windows API 함수 호출 인 코드 일 수도 있습니다.

라이브러리의 코드를 이식 할 수 있는지 여부는 모두 코드에 따라 다릅니다. 또는로 대체 short하는 것은 코드의 이식성을 높이기 위해 아무것도하지 않습니다 ( 일부 구현 정의 속성을 원래 사용하지 않는 한 ). 그래서 의 총괄 교체가 무엇 을 달성 해야하는지 잘 모르겠습니다 . 언어에 내장 된 기본 유형입니다. 대상 플랫폼이 지원하는 경우 표준 라이브러리에 의해 정의 된 유형 입니다. 따라서 어떤면에서 실제로 . 하지만 항상 정의되어 있으므로입니다int16_tint_fast16_tshortshortint16_tshortint16_tint16_tshortint_fast16_tshort. 제공하는 의미 체계가 필요한 경우 표준 라이브러리의 고정 너비 정수 유형을 사용하십시오. 그렇지 않으면 사용할 이유가 없습니다. C에서 고정 폭 정수 타입을 사용하는 것이 주 ++은 C ++ 헤더 포함 <cstdint>보다는 <stdint.h>++ C에 존재하는 것이 보장되지 않는다. 또한 <cstdint>네임 스페이스에 선언을 배치하는 것만 보장됩니다 std. 따라서 최대한의 휴대 성을 위해 사용 가능 std::int16_t하다는 보장이 없기 때문에 ::int16_t사용하십시오.

라이브러리의 코드가 이식 가능하다면 다른 플랫폼에서 해당 라이브러리를 빌드하는 데 필요한 것은 해당 플랫폼의 빌드 시스템뿐입니다. 그렇습니다. 코드가 이식 가능하다면 다른 플랫폼에서 사용하는 도구를 사용하여 다른 플랫폼에서 해당 코드를 컴파일하기 만하면됩니다. 이것이 바로 코드가 의미하는 바에 대한 정의입니다. 휴대용… ;-)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Visual Studio 2015에서 Win32 프로젝트를 만들 수 없습니다.

Visual Studio Visual C ++ Win32 프로젝트에서 기본 양식을보고 편집 할 수 있도록하려면 어떻게해야합니까?

Qt VS Tools를 사용하여 크로스 플랫폼 프로젝트에서 작업하고 프로젝트 변경 사항을 .pro 파일에 동기화 된 상태로 자동으로 유지할 수 있습니까?

데스크톱 브리지를 통해 UWP로 변환 된 Win32 프로그램을 ARM에서 실행할 수 있습니까?

Visual Studio-15에서 설치 프로젝트의 플랫폼을 변경할 수 없습니다.

Visual Studio 프로젝트에서 사용자 매크로를 여러 구성 / 플랫폼에 설정할 수 있습니까?

Visual Studio가 플랫폼 변경 사항을 x64에서 Win32로 되돌립니다.

Meteor JS 프로젝트를 Visual Studio에서 사용할 수있는 프로젝트로 변환하는 방법이 있습니까?

UWP 플랫폼에서 이미지를 바이트 배열로 어떻게 변환 할 수 있습니까?

다른 고객을 위해 Xamarin 다중 플랫폼 앱 프로젝트를 구성 할 수 있습니까?

Visual Studio C ++ 플랫폼 간 라이브러리 프로젝트에서 동적 프레임 워크를 만들 수 있나요?

Visual Studio 프로젝트 (C #)를 분할하여 참조 할 수 있습니까?

C에서 64 비트 플랫폼을 대상으로 할 때 배열 참조에 64 비트 변수를 사용하는 것이 더 낫습니까?

Win32에서 2개의 텍스트 상자를 한 줄로 어떻게 연결할 수 있습니까?

내 프로젝트 내에서 Django 프로젝트를 Django 애플리케이션으로 어떻게 변환할 수 있습니까?

Visual Studio C ++ 프로젝트에서 RTMPDump를 어떻게 사용할 수 있습니까?

Eclipse Paho MQTT로 Visual C ++ Win32 프로젝트를 컴파일 할 때 LNK2019 오류

참조 된 다중 대상 프로젝트의 플랫폼을 어떻게 지정할 수 있습니까?

Visual Studio 2015에서 C 프로젝트를로드 할 수 없습니다.

Windows에서 Mac용 Visual Studio 프로젝트를 실행할 수 있습니까?

Visual Studio 솔루션에서 * 사용할 수없는 * 모든 프로젝트를 나열 할 수 있습니까?

C # 프로젝트에서 C ++ 프로젝트를 참조 할 수 있습니까?

Vuejs 프로젝트를 Vue-Native로 변환 할 수 있습니까?

일반 자바 프로젝트를 springboot 프로젝트로 변환 할 수 있습니까?

공유 프로젝트를 PCL 프로젝트로 어떻게 변환 할 수 있습니까?

Visual Studio의 C# 클래스를 리소스로 추가하여 새 프로젝트에 편리하게 추가할 수 있습니까?

크로스 플랫폼에서 Watch / Wearable 애플리케이션을 개발할 수 있습니까?

Win32에서 단일 응용 프로그램에 키보드 입력을 연결할 수 있습니까?

다중 플랫폼 프로젝트가있는 install4j에서 플랫폼을 기반으로 -Xmx 설정을 어떻게 변경합니까?

TOP 리스트

  1. 1

    C # 16 진수 값 0x12는 잘못된 문자입니다.

  2. 2

    Matlab의 반복 Sortino 비율

  3. 3

    Python의 csv 파일에서 첫 번째 열 삭제

  4. 4

    개체 참조가 개체의 인스턴스로 설정되지 않았습니까? (예외 오류 ~ ASP.NET MVC)

  5. 5

    atob은 인코딩 된 base64 문자열을 디코딩하지 않습니다.

  6. 6

    EventEmitter <string>의 컨텍스트 'this'가 Observable <string> 유형의 'this'메서드에 할당되지 않았습니다.

  7. 7

    병합 셀을 사용하여 워크 시트의 데이터 필터링

  8. 8

    PhpStorm 중단 점에서 변수 값을 볼 수 없습니다.

  9. 9

    jQuery에서 이벤트 핸들러를 제거하는 가장 좋은 방법은 무엇입니까?

  10. 10

    `@ Transactional`이 있음에도 불구하고 이러한 데이터베이스 수정 사항이 롤백되지 않는 이유는 무엇입니까?

  11. 11

    ssh를 사용하여 원격에서 로컬로 파일 복사

  12. 12

    종속 사용자 정의 Lightning 선택 목록 Level2 및 Level3을 설정한 다음 Lightning 구성 요소에서 Level2를 재설정하지만 Level2 캐시 데이터가 저장됨

  13. 13

    2 개의 이미지를 단일 평면 이미지로 결합

  14. 14

    팝업처럼 위젯을 표시하는 방법

  15. 15

    [해결] 쿠키 설정 SameSite = Chrome / JSP, JAVASCRIPT에서 작동하지 않습니다.

  16. 16

    버튼 클릭을 기반으로 특정 CSS 클래스를 추가하는 방법은 무엇입니까?

  17. 17

    React 구성 요소가 자동으로 초기 상태로 다시 렌더링됩니다.

  18. 18

    연결된 서버 쿼리는 작동하지만 동일한 OPENQUERY는 "sys.servers에서 서버 'SERVER'를 찾을 수 없습니다.

  19. 19

    파일 2의 파일 1에서 동일한 줄을 조건으로 바꿉니다.

  20. 20

    아이디어 Intellij : 종속성 org.json : json : 20180813을 찾을 수 없음, maven에서 org.json 라이브러리를 가져올 수 없음

  21. 21

    상황에 맞는 메뉴 색상

뜨겁다태그

보관