带有X64汇编语言的Univeral Windows平台C
Univeral Windows Platform C++ with x64 assembly language
我正在寻找Windows 10上的C 和汇编语言。物联网核心。
该项目通常具有大量的C 代码和一些汇编语言代码,但请参阅我将看到它的去向。为什么要使用组装?纯粹是为了娱乐。整个项目都是回到C 和组装的爱好。
UWP C 似乎是最新的方法,即Microsoft编程技术。仍然支持Windows桌面C (即Win32或Console),但我宁愿坚持使用UWP。
我已经快速阅读了UWP C ,Lear不是XAML上的基础知识,而C 正在回到我身边(我几年没有触摸过它)。
使用Visual Studio Professional(引擎盖下的MASM)和X64 ASM。
我有一个简单的Hello World应用程序。文本框和一个按钮。该项目包括一个.ASM文件,其中包含一个简单的函数,该功能添加了两个数字并将结果返回RAX中。此(ASM)函数在按钮单击事件中调用,并输出到文本框文本。
mainpage.xaml.cpp
extern "C" int SomeFunction();
void LearningUWPwithCPP::MainPage::Button_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
greetingOutput->Text = SomeFunction().ToString();
}
mainpage.xaml
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<StackPanel x:Name="contentPanel" Margin="120,30,0,0">
<TextBlock HorizontalAlignment="Left" Text="Hello World" FontSize="36"/>
<TextBlock Text="Click the button"/>
<Button x:Name="inputButton" Content="Click me" Click="Button_Click"/>
<TextBlock x:Name="greetingOutput"/>
</StackPanel>
</Grid>
testasm.asm
.CODE
SomeFunction PROC
mov rax, 5
add rax, 6
ret
SomeFunction ENDP
END
更多信息...
- 项目构建依赖项已检查MASM选项(即ON)。
- UWP C 将其编译到本机代码,因此应接受ASM文件
- 不幸的是,关于UWP和ASM的信息似乎不存在(这里不足为奇)
问题:我得到了"未解决的外部"错误
有用的提示
- Intellisense正在暗示找不到我(ASM)函数的Extern声明的功能定义。
- 我可以在ASM文件中键入任何垃圾,该项目将成功编译。
使用这些要点,很明显该项目找不到我的ASM文件。我不确定如何包含ASM文件。我怀疑Extern是Win32 C 日的残余,也许在UWP中无法使用。
任何帮助都非常感谢。
取决于您执行的操作的顺序,vs解决方案资源管理器中的ASM文件的某些属性可能会被错误地设置。
通用解决方案包括从解决方案资源管理器中删除/重新添加ASM文件,或者手动将Excluded from Build
设置为 no 和Item Type
和 Microsoft Macro Macro Assembler 于每种构建配置。
- 通用 Windows 平台上的内存泄漏检测
- 带有X64汇编语言的Univeral Windows平台C
- 通用Windows平台-CustomHidDevice(错误:值被阻止)
- 为以前的Windows平台构建我的应用程序
- 测量Windows平台上本机C++的运行时间(秒)
- 假设所有Windows平台都在UCS-2 LE中是否安全
- 是与windows平台绑定的Microsoft Visual C++
- 用于在 Windows 平台上为 C/C++ 代码生成调用图的工具
- 如何在windows平台上调试android中的本机代码
- 在windows平台上使用libVLC for Android
- 如何在 Windows 平台上开发 iOS 应用程序
- 如何在Windows平台中获取远程Windows服务器的共享文件夹的文件列表
- 在Windows平台上创建进入网站安全区域的应用程序
- 如何在windows平台上使用c++信号
- "Cannot execute binary file"在 Ubuntu for Windows 平台上使用 Eclipse 运行编译的 c++ 程序时
- 在windows平台上检索系统特定的值
- 如何在windows平台上获得堆大小
- 检索MS Windows平台的操作系统名称
- "refclock.h"头文件中的生成错误,这是 Windows 平台 SDK 的一部分
- 在打印机上打印(windows平台32位)