Skip to content

Commit 83cf0f8

Browse files
authored
Merge pull request #626 from dawidborycki/LP-batch-1
Learning paths batch 1
2 parents 987761a + f5c4506 commit 83cf0f8

File tree

42 files changed

+2057
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+2057
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
title: Port Your Applications to Arm64 Using Arm64EC
3+
4+
minutes_to_complete: 90
5+
6+
who_is_this_for: This is an introductory topic for developers who want to learn how to port their applications to Arm64 using Arm64EC.
7+
8+
learning_objectives:
9+
- Build a Qt-based Python desktop application
10+
- Create C/C++ dependencies and use them in the Qt-based Python app
11+
- Learn how to port the C/C++ based dependencies to Arm64 using Arm64EC.
12+
13+
prerequisites:
14+
- A Windows on Arm computer such as [Windows Dev Kit 2023](https://learn.microsoft.com/en-us/windows/arm/dev-kit), Lenovo Thinkpad X13s running Windows 11 or Windows on Arm[virtual machine](/learning-paths/cross-platform/woa_azure/).
15+
- Any code editor, we recommend using [Visual Studio Code for Arm64](https://code.visualstudio.com/docs/?dv=win32arm64user).
16+
- Visual Studio 2022 with Arm build tools. [Refer to this guide for the installation steps](https://developer.arm.com/documentation/102528/0100/Install-Visual-Studio).
17+
18+
author_primary: Dawid Borycki
19+
20+
### Tags
21+
skilllevels: Introductory
22+
subjects: Migration to Arm
23+
armips:
24+
- Cortex-A
25+
operatingsystems:
26+
- Windows
27+
tools_software_languages:
28+
- C/C++
29+
- Qt
30+
31+
### FIXED, DO NOT MODIFY
32+
# ================================================================================
33+
weight: 1 # _index.md always has weight of 1 to order correctly
34+
layout: "learningpathall" # All files under learning paths have this same wrapper
35+
learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content.
36+
---
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
---
2+
# ================================================================================
3+
# Edit
4+
# ================================================================================
5+
6+
next_step_guidance: >
7+
You have learned how to to port C/C++ DLLs to Arm64 using Arm64EC using CMake and MSBuild projects. You also learned how to use DLLs in the Python app with ctypes. You might be interested in learning how to build a native Windows on Arm application using the .NET framework.
8+
# 1-3 sentence recommendation outlining how the reader can generally keep learning about these topics, and a specific explanation of why the next step is being recommended.
9+
10+
recommended_path: "/learning-paths/laptops-and-desktops/win_net"
11+
# Link to the next learning path being recommended(For example this could be /learning-paths/servers-and-cloud-computing/mongodb).
12+
13+
14+
# further_reading links to references related to this path. Can be:
15+
# Manuals for a tool / software mentioned (type: documentation)
16+
# Blog about related topics (type: blog)
17+
# General online references (type: website)
18+
19+
further_reading:
20+
- resource:
21+
title: Arm64EC - Build and port apps for native performance on Arm
22+
link: https://learn.microsoft.com/en-us/windows/arm/arm64ec
23+
type: documentation
24+
- resource:
25+
title: Visual Studio on Arm-powered devices
26+
link: https://learn.microsoft.com/en-us/visualstudio/install/visual-studio-on-arm-devices?view=vs-2022
27+
type: documentation
28+
- resource:
29+
title: Load x64 Plug-ins (like VSTs) from your Arm Code using Arm64EC
30+
link: https://devblogs.microsoft.com/windows-music-dev/load-x64-plug-ins-like-vsts-from-your-arm-code-using-arm64ec/
31+
type: blog
32+
33+
# ================================================================================
34+
# FIXED, DO NOT MODIFY
35+
# ================================================================================
36+
weight: 21 # set to always be larger than the content in this path, and one more than 'review'
37+
title: "Next Steps" # Always the same
38+
layout: "learningpathall" # All files under learning paths have this same wrapper
39+
---
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
# ================================================================================
3+
# Edit
4+
# ================================================================================
5+
6+
# Always 3 questions. Should try to test the reader's knowledge, and reinforce the key points you want them to remember.
7+
# question: A one sentence question
8+
# answers: The correct answers (from 2-4 answer options only). Should be surrounded by quotes.
9+
# correct_answer: An integer indicating what answer is correct (index starts from 0)
10+
# explanation: A short (1-3 sentence) explanation of why the correct answer is correct. Can add additional context if desired
11+
12+
13+
review:
14+
- questions:
15+
question: >
16+
Is it possible to import a C/C++ library to a Python application?
17+
answers:
18+
- "Yes"
19+
- "No"
20+
correct_answer: 1
21+
explanation: >
22+
Yes, you can import C/C++ DLLs to a Python application using ctypes.
23+
24+
- questions:
25+
question: >
26+
How do you port C/C++ code to ARM64 using ARM64EC and MSBuild?
27+
answers:
28+
- "Using a command line tool port-to-arm64"
29+
- "Using a command line tool port-to-arm64-msbuild"
30+
- "By targeting the ARM64EC build configuration"
31+
correct_answer: 3
32+
explanation: >
33+
For the MSBuild projects you use ARM64EC build configuration to compile the DLL to ARM64EC
34+
35+
# ================================================================================
36+
# FIXED, DO NOT MODIFY
37+
# ================================================================================
38+
title: "Review" # Always the same title
39+
weight: 20 # Set to always be larger than the content in this path
40+
layout: "learningpathall" # All files under learning paths have this same wrapper
41+
---
259 KB
Loading
41.2 KB
Loading
77.2 KB
Loading
18.3 KB
Loading
278 KB
Loading
137 KB
Loading
101 KB
Loading

0 commit comments

Comments
 (0)