似乎只有VS 2013 ARM上的远程工具在Windows 8.1上工作. 这是否意味着Visual Studio 2012现在已过时用于WinRT开发? 解决方案 是的,确实已经过时了. 用于Windows 8.1 RT开发,设置一个带有VS 2013的单独的8.1机器. 更新 在Visual Studio 2012 更新4 时,远程调试似乎可用. 其他解决方案 2013年11月25日更新: 刚刚看到了摩切的答案,即将发布更新.是,Win8.0上的VSE2012现在可以使用VS2012 Update 4在Surface2/win8.1上进行远程调试,该更新在周末发布. 还需要下载属于更新4的ARM的远程工具: http://www.microsoft au/download/details.aspx?id = 39305 单击"详细信息向下钻"以获取"远程工具"下载 要进行远程调试运行,您需要右键单击"解决方案资源管理器"
以下是关于 arm 的编程技术问答
我找不到Visual Studio C ++使用的Arm呼叫大会上的Windows RT上的任何文档. Microsoft使用ARM的如果Microsoft使用AAPCS/EABI用于手臂上的Windows RT,它还使用 arm的c ++ abi (源自iatanium c ++ abi)?甚至 arm anm anm dection anm dection and and and and and abi ? ?/p> Windows RT在手臂上使用的调用惯例是否与其他(嵌入式)手臂窗户变体所使用的惯例不同? 是否有一种可靠的方法可以通过预定义的编译器宏来检测手臂上的Windows RT? 更新:添加了有关C ++ ABI. 的问题 解决方案 与Windows CE不同(使用原始 apcs 又名旧的Abi),手臂上的Windows RT使用Eabi.更具体地说,使用浮点寄存器传递浮点数据和8字节堆栈/参数对齐的变体. 如果我采用以下功能: int g(
我已经成功编译了x86 但是,我仍在努力如何编写ARM CPU上的Winrt的DLL.我已经使用Visual Studio Arm命令提示符运行NMAKE,但这只是给我以下错误: C:\sqlite>nmake -f makefile.msc sqlite3.dll FOR_WINRT=1 OPTS=/DWINAPI_FAMILY=WIN API_PARTITION_APP Microsoft (R) Program Maintenance Utility Version 11.00.50522.1 Copyright (C) Microsoft Corporation. All rights reserved. cl.exe -W3 -DNDEBUG -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -O2 -Zi /DEBUG -Femkkeywordhash.exe -DSQLITE_ENA
另请参见:我试图了解如何对ARM和Windows 7的Windows 8定位,因为Windows 7无法运行WinRT应用程序. 我了解,应用只能在App Store中安装在Windows 8的ARM版本上. 那么,手臂上的Windows 8可以运行无winrt应用程序? 解决方案 现在的确定答案已经解决.会有一个桌面,但是您将无法安装桌面应用程序. " WOA不支持运行,模拟或移植现有的X86/64桌面应用程序."所有应用程序都将来自商店,并且必须遵守Metro Style App指南. 唯一的桌面应用程序似乎是办公室(似乎与OS一起运送)和内置应用程序,例如控制面板,资源管理器,IE等.其他所有内容都将是针对Windows编写的新的地铁式应用程序运行时. 请参阅此建筑物Windows 8博客 post 有关详细信息. 其他解决方案 "否旧应用程序"与"无桌面应用"不同. 我没有看到的任何东西都没有表明与com,IE,mshta等的常规Win32
我想使用clang编写一个在C中编写的程序,用于" Windows Phone"手臂目标. 有人有经验吗? 什么是更好的方法? 1)在运行Windows 8的主机上使用Clang构建Windows和Mingw. Windows/Mingw的叮当声是否默认支持ARM?如果没有,我需要重建叮当声和mingw? 2)在Linux/Mac主机上构建(ARM目标默认为默认值)并使用Windows Phone工具链(我可以在哪里得到它?). 预先感谢! 解决方案 Clang中没有" Windows Phone Arm目标"支持.即使您成功地编译了某些内容,我怀疑您是否能够链接和执行二进制文件.
我试图调用在看起来像这样的一个.s文件中编码在臂霓虹灯组件中的函数: AREA myfunction, code, readonly, ARM global fun align 4 fun push {r4, r5, r6, r7, lr} add r7, sp, #12 push {r8, r10, r11} sub r4, sp, #64 bic r4, r4, #15 mov sp, r4 vst1.64 {d8, d9, d10, d11}, [r4]! vst1.64 {d12, d13, d14, d15}, [r4] [....] 我像这样组装了: armasm.exe -32 func.s func.obj 不幸的是,这不起作用,当我尝试调用该功能时,我会得到非法指令例外.当我使用dumpbin.exe拆卸.OBJ时,尽管装配中的手臂指令,但它似乎是拇指代码(请参见上面的代码). 我怀疑该功能
我面临一个奇怪的问题,与这个.我有一个Windows Phone 8 Native DLL项目,主要是C ++,但其中包含ARM组件源.源处于手臂模式(即,不是拇指). C ++被编译为拇指. 当C ++试图呼叫汇编例程时,该应用会崩溃.拆卸中的呼叫命令是BLX,具有立即偏移 - 它应该无条件地将模式切换回手臂,但不知何故. 我有例外的详细信息.异常代码是0xc000001d(无效操作),崩溃上下文结构中PC的值为0x696D5985.这在两种模式下都是不可能的 - 它是未对准的,位零是一个. BLX指令将进行1b f0 0c eb - 如果破译,那是一个由两部分组成的拇指风格的BLX,并具有4个对齐的位移.设置了崩溃上下文中的t标志(cpsr = 0x60000010). 我没有设备,但是来自Beta测试仪的崩溃日志是相当结论的.在召集汇编之前,我有一个调试日志记录.然后崩溃. edit:相关.但是,他们声称汇编器本身(armasm)将手臂转换为拇指.对我而言,
Microsoft最近发布了其新手机7平台的工具和文档,这让那些拥有大的C ++代码库(像我一样)的人感到沮丧,不再支持本地开发.尽管我发现对这一决定逆转的猜测,但我怀疑.因此,我在想,通过将其调整为C ++/CLI来使该代码库适应该代码库是多么可行.当然,用户界面零件无法移植,但我不确定其余部分.有人有类似的经历吗?我不是在谈论较重的低级功能的代码 - 但是模板和智能指针很频繁使用. 解决方案 C ++/CLI理论上可以与WPF/Silverlight一起使用使用宏定义替换从XAML生成的C#的技巧,该宏定义可以在文件后面的代码中使用的主类中使用.我制定了这项技术,但没有动力超越理论 - 我很高兴地混合语言. 就逻辑代码以纯安全模式使用C ++/CLI,这可能仍然是不可能的,但是我很想听听某人现在如何尝试.在2008年为Silverlight进行研究的同时,我发现这种令人生畏的 Silverlight Forum论坛评论 : 我刚刚给了Silverlight&C +
ARMV6引入了一个很棒的功能 - 不一致的内存访问,这使得代码中的某些内容更加简单,更快.但是微软仅在Wince6中提供API.现在,大多数PDA基于Winmobile6(CE 5.X上).默认情况下禁用了未对准的访问:( 我尝试在CP15寄存器中设置未对齐的标志,但这不起作用 - 我在读取不规则的数据时崩溃了. 是否有可能在Winmobile6上启用非对齐的访问? 编辑:我找到了该工具,它可以启用不重对的访问,但是我想从代码中打开/关闭它.是 nueadvancedprocessor . 解决方案 有一个未对齐的访问标志(CP15控制寄存器中的U位),还有一个对齐故障检查器(位).确保您拥有正确的组合.特别是,如果设置了一些位,那么即使您的u上有u,所有未对齐的访问都会导致数据中断.请查看有关此的ARM文档 - 全部可用,网址为 http://www.arm.com .. 特别是,您需要A2.8.2节" ARMV6系统中的非对齐数据访问"中的ARM体系结构参考
这真的很奇怪,但是我似乎找不到.net cf中的特定文本框(i)或复选框(i).在.NET 3.5中我可以创建此功能: void checking(int input) { CheckBox checkbox = (CheckBox)this.Controls["checkBox" + input.toString()]; if(checkbox.isChecked) //do something here } 在此示例中,它获取了复选框的名称(即复选框1,Checkbox2等). 然而,在.net cf 3.5中,对于wince6,它一直告诉我我需要一个内部controls []的索引,因为它不能将字符串转换为int.有人知道如何在不使用该语句的情况下找到特定对象吗?该foreach很有用,但对此无用,因为它可以循环遍历所有复选框.由于我以手臂为基础,因此速度就是一切.我正在使用VS2008 C#开发桌面和移动应用程序. 感谢您的阅读!
我正在编写一个跨平台应用程序,我确实需要一些有关该系统的基本信息. 不仅用于切换它(我可以使用编译变量,因为我在平台特定项目中链接了相同的代码). 所以不要告诉我知道平台和架构信息是没有用的: Windows RT和C# 任何人都可以为我提供此信息,因为我没有任何简单的方法可以通过my-felf(我没有模拟器/设备可以使用,我使用的是安装了Linux的上网本,因此,没有VT-D功能等). P.S.请避免发布以下内容:"使用Qemu,使用xxx,yyyy"等.考虑某人也可能正在寻找此信息. 解决方案 在表面RT 上输出'set' ALLUSERSPROFILE=C:\ProgramData APPDATA=C:\Users\[user]\AppData\Roaming CommonProgramFiles=C:\Program Files\Common Files COMPUTERNAME=SURFACE ComSpec=C:\windows\system3
这是一个与获取OS-VERS-os-version有关的问题Winrt Metro App C#但不重复. 是否可以从Metro应用程序检测到系统上是否有桌面功能?我知道不支持OS版本的检测,这还可以. 但是,我的地铁应用需要知道它正在运行的系统上是否有台式机. 由桌面我的意思是可扩展的桌面 - 桌面,可以安装第三派对桌面应用程序.众所周知,基于ARM的单元也将拥有桌面,但只有Microsoft内置程序. 我可以区分我的Metro应用程序是否在基于ARM的平板电脑上运行,并在所有其他(基于Intel的)设备上使用可扩展的台式机上运行? 解决方案 经过一些更广泛的搜索,我找到了我最终获得了以下代码: [DllImport("kernel32.dll")] internal static extern void GetNativeSystemInfo(ref SystemInfo lpSystemInfo); internal
宣布将在Windows 8上支持VB6,我的问题是: Microsoft说的(是或否)VB6应用程序会在基于ARM的平板电脑上运行的地方吗? ,如果没有,是否有任何手臂模拟器,因此我们可以在Windows 8 Arm平板电脑上测试我们的VB6应用程序? 解决方案 我的理解是:否.Windows8将支持2个不同的API:Win32(和.NET)和Winrt. Windows 8 ARM构建只会支持Winrt. VB6反对Win32 API编译,它在手臂平板电脑上行不通. Adam Mihalcin 在此答案中. 其他解决方案 在手臂上,没有第三方桌面应用程序,VB6或其他情况.而且您不会看到新的Metro框架对VB6的支持,因为...嗯... VB6像10年前一样被弃用. 是时候投资重写了.
Windows 8的ARM,也称为Windows RT,是否具有Win32 API的等效? (i 不是指它可以运行Win32 x86代码,但是如果它具有Win32 API 可用于第三方开发人员的可用.) 解决方案 否.或更确切地说,是的,但不是我们所知道的,win32. WIN32的一小部分可供WinRT应用程序使用,而WinRT应用程序是Windows RT上唯一可以运行的内容. ("手臂的Windows 8.") 第三方应用程序开发人员可以访问经典Win32 API的一小部分. 其他解决方案 是的,ARM版本将支持与X86和X64构建相同的API,可能在特定于架构的特定内容(例如异常处理)上有一些略有差异. 例如,这是从kernel32导入的abs版本的API列表: Setting environment for using Microsoft Visual Studio 2010 x86 tools. Microsoft (R) COFF/P
说我有一个使用Win32 API的桌面程序,但是为ARM架构编译的.如何在Windows RT(ARM平板电脑的Windows 8的受限版本)上运行它? Windows RT拒绝在没有Microsoft签名的情况下运行此类应用. 我知道没有官方的方法可以做到这一点,但是说这是用于内部部署,或者只是用于测试目的.我有什么选择? (请参阅此答案有关Windows RT上的Win32 API的可用性(对于Metro Apps而不是必不可)系统),此答案有关如何使用VS2012编译ARM的WIN32程序.) ) 解决方案 现在您可以在Windows RT上运行任何应用/EXE: http://surfsec.wordpress.com/2013/01/06/circumventing-windows-rts-code-code-integrity-mechanism/ 其他解决方案 请参阅此线程,您可以在没有Microsoft签名的情况下运行EXE http://for
Microsoft和高通公司宣布了一个新的Snapdragon开发人员套件,今年夏天将于2021年发布.我在哪里可以找到此套件?它已经发布了吗? 我不是要求软件的建议.我问这个套件在哪里售出.我发现的所有内容都表示Microsoft Store,但我在那里找不到.高通公司拥有各种零售商提供的几个不同的Snapdragon开发套件,但没有一个是Windows Arm的Snapdragon开发人员套件. Google搜索也不会带来与此问题无关的新闻发布或其他互联网浮游品的其他内容. 这些计划的最前沿是新的Snapdragon开发人员套件. 微软表示,该套件是基于ARM的PC上的负担得起的窗户 这是专门为开发人员设计的.该套件可用 作为今年夏天在Microsoft商店购买的一部分 微软和高通技术之间的合作伙伴关系.微软 没有共享特定的定价或可用性,但注意到这将是 "成本效益." Snapdragon上的Windows windows 在套件上提供了简短的新闻稿描述,但无法购买
Windows 10是否支持运行旧的Win32(MFC,ATL,Visual Basic 6)应用程序?它需要某种形式的仿真还是转换? 解决方案 根本没有X86 Win32仿真.您需要使用为平台设计的工具集. 其他解决方案 与7/8.1一样,窗口越来越倾向于净做事的方式.如此多的命令行函数是通过NET调用完成的. 还要注意,Win10几乎是赢得了NT,基本上是Win98应该是的,以节省我们在带有秋千门且没有保护形式的OS上的病毒的灾难性涌入. nt的一面会及时影响所有程序员,尤其是在以下方面, 用户的权利.这是一件好事,因为我们所有人都对用户感到沮丧,让门开了病毒和黑客入侵. nt至少有助于大部分. 文件处理. Win10是距OS按需更近的一步适当地进入,以便操作系统应对我们的需求.尽管我确实担心我目前没有真正的线索,即如果请求无法满足,我们将如何处理. ,但我们也不能懒惰的文件访问权限.例如,我们倾向于在用户区域做出有关访问权限的假设,然后
我试图了解使用Qualcomm Snapdragon处理器上X86 Windows 10到ARM Windows 10设备运行的C ++ MFC应用程序的障碍. 32位应用程序具有以下特征: MFC,用于用户界面的C ++ C用于业务逻辑 源代码分为大约30个不同的项目,一些静态库,一些DLL,一些Exe 依靠Windows API用于多线程,信号量,静音,密码学 使用第三方提供商,OPOS服务对象和OPOS CONTROL对象的COM对象 使用ADO使用数据库的SQL Server Express的本地实例 此应用程序通过Visual Studio 2015/2017/2019编译罚款X86和Windows 10. 我的问题是:使用Snapdragon处理器将此应用程序迁移到ARM Windows 10的可能障碍? 次要问题是什么是合适的低成本ARM Windows 10设备?大多数来自HP,Samsung和Lenovo的Windows 10 A
我正在尝试生成忍者makefiles,以将C ++项目与ARM Cortex A5 CPU交叉编译.我为CMAKE创建了一个工具链文件,但似乎有一个错误或我找不到的错误.使用下面的工具链文件调用CMAKE时,我会收到以下错误. cmake命令: cmake -dcmake_toolchain_file =" .. \ src \ build \ toolchain-clang-arm.cmake" -gninja .. \ src \ 输出: - c编译器识别是clang 7.0.0 cmake误差,在c:/users/user/scoop/apps/cmake/3.13.13.13.13.4/share/cmake-3.13/modules/cmakedetemeterminecompilererid.cmake.cmake.802 (消息):Clang编译器工具 " c:/program文件/llvm/bin/clang.exe" 针对MSVC A
我正在使用Windows10.我想跨编译程序在armv7-unknown-linux-gnueabihf上运行. (armv7-unknown-linux-muscl也可以接受,但似乎不可用.) 这是我的步骤: 安装rustup rustup toolchain install stable-x86_64-pc-windows-gnu rustup toolchain default stable-x86_64-pc-windows-gnu rustup target add armv7-unknown-linux-gnueabihf 编辑我的./cargo/config文件要包含: [build] target = "armv7-unknown-linux-gnueabihf" cargo build 这可以编译所有内容,但是在链接时,它会产生此错误: error: could not exec the linker `cc`: The s