码迷,mamicode.com
首页 > 其他好文 > 详细

VELT-0.1.3开发:汇编支持

时间:2015-01-15 22:04:11      阅读:517      评论:0      收藏:0      [点我收藏+]

标签:vs2013   linux   msbuild   velt   

快乐虾

http://blog.csdn.net/lights_joy/

欢迎转载,但请保留作者信息


VELT的全称是Visual EmbedLinuxTools,它是一个与visual gdb类似的visual studio插件,用以辅助完成Linux开发。利用这个插件,将可以在visual studioIDE中进行Linux应用程序的开发(包括编译和调试),也可以进行ubootlinux内核的编译,并根据编译时的错误信息正确定位到源码。目前的版本是0.1.2,仅支持vs2013,是一个刚刚启动开发不久的插件。可以在CSDN下载频道下载(http://download.csdn.net/detail/lights_joy/8359251),安装过程参见《Vs2013+VELT-0.1.0进行Linux开发:环境搭建》。下面是它的基本功能:

  1. 支持x86 Linuxhi3516hi3520MinGW这几个平台。

  2. 完成UBOOT的编译,并根据编译的错误信息自动定位到相应的文件位置。

  3. 完成LINUX内核的编译,并根据编译的错误信息自动定位到相应的文件位置。

  4. 完成LINUX内核的配置。

  5. 不使用Makefile进行Linux应用程序的编译。

  6. 使用SSH连接目标机器并用gdb进行应用程序的调试。

  7. 使用Telnet连接目标机器并用gdb进行应用程序的调试。


下面我们在VELT中加上汇编支持。


1.1  WIN32/x64平台


对于WIN32X64,只需要在生成自定义中选择汇编即可:

技术分享

技术分享


此操作的结果是VS在我们的工程文件中加上了:

 <ImportGroup Label="ExtensionTargets">

   <ImportProject="$(VCTargetsPath)\BuildCustomizations\masm.targets" />

 </ImportGroup>

但显然这仅仅只有在WIN32平台下才可用,因此我们将之修改为:

 <Import Condition="$(Platform)==‘Win32‘"Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />

 <Import Condition="$(Platform)==‘x64‘"Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />

在项目中添加一个test.asm文件,然后就可以看到MASM的编译选项了!!

 


1.2  GNU平台


对于GNU的编译器,因为VELT提供了自己的编译任务,只需要将项目中的.s文件设置为C/C++编译就可以了。当然,这种方式无法针对每个文件单独设置编译参数!

as生成的错误信息格式与gcc略有不同:

1>  c:\mingw\\bin\as.exe   -o..\obj\MinGW\Debug\ConsoleApplication\test.obj test.s

1>  test.s: Assembler messages:

1>  test.s:3: Error: too many memory referencesfor `mov‘

需要进行转换后VS才能正确识别。

1>  c:\mingw\\bin\as.exe   -o ..\obj\MinGW\Debug\ConsoleApplication\test.objtest.s

1>  test.s: Assembler messages:

1>  test.s(3): error C2005:  too many memory references for `mov‘





??

VELT-0.1.3开发:汇编支持

标签:vs2013   linux   msbuild   velt   

原文地址:http://blog.csdn.net/lights_joy/article/details/42749289

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!