程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在Visual Studio 2017 Linux项目中无法识别Linux头文件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在Visual studio 2017 Linux项目中无法识别Linux头文件?

开发过程中遇到在Visual studio 2017 Linux项目中无法识别Linux头文件的问题如何解决?下面主要结合日常开发的经验,给出你关于在Visual studio 2017 Linux项目中无法识别Linux头文件的解决方法建议,希望对你解决在Visual studio 2017 Linux项目中无法识别Linux头文件有所启发或帮助;

在我的linux系统(Debian jessIE)ucontext.h上,usr/include其中包含sys/ucontext.h内容gcc将在中找到usr/include/i386-linux- gnu/sys。第一个定义功能getcontextsetcontext。第二个定义数据结构ucontext_t等。

在windows主机上,VClinux在中安装了第二个副本ucontext.h(定义了数据结构)C:\Program files (x86)\Microsoft Visual studio 14.0\VC\linux\include\usr\include\x86_64-linux- gnu\sys。但是第一个ucontext.h不存在。

VClinux / Visual studio将在linux远程平台上编译并运行此程序:

#include <ucontext.h>
#include <iostream>
int main()
{
   ucontext ucxt;
   ::getcontext (&ucxt);
   std::cout << ucxt.uc_flags << std::endl;
   return 0;
}

但是IntelliSense不会知道功能getcontext和/setcontext或关联的数据结构。因此,您将在名称下看到很少的红色弯曲,并且没有完成帮助。

您可以复制第一个副本ucontext.h并将其C:\Program files (x86)\Microsoft Visual studio 14.0\VC\linux\include\usr\include放在windows主机上。这样,一切都会正常进行。您可能会在VCLinux GitHub站点上引发缺少标题的问题。

注意:windows路径适用于Visual studio2015。2017年将有所不同。

适用于VClinux 1.0.6。

==============

更新18年4月10日

@H_626_2@microsoft已解决linux系统之间标准包含文件位置差异的问题。如该Visual C ++博客文章中所述,特定于GCC安装程序的标头是从linux远程复制并按每个连接存储在windows主机上的。

解决方法

在这种情况下,在Visual studio 2017上针对我的C程序的Linux C
项目中使用这些功能吗?

我正在编写的代码:

#include <stddef.h>
#include <String.h>
#include <sys/ucontext.h> 
// If I use ucontext.h instead,it gives the error: cAnnot open source file ucontext.h

//TCB structure
typedef struct TCB_t {
    struct TCB_t     *next;
    struct TCB_t     *prev;
    ucontext_t      context;
} TCB_t;


void init_TCB(TCB_t *tcb,void *function,void *stackP,int stack_sizE)
{
    memset(tcb,'\0',sizeof(TCB_t));   
    tcb->context.uc_stack.ss_sp = stackP;
    tcb->context.uc_stack.ss_size = (size_t)stack_size;

    int c = getcontext(tcb->context); // CAnnot resolve field getcontext()
}

大佬总结

以上是大佬教程为你收集整理的在Visual Studio 2017 Linux项目中无法识别Linux头文件全部内容,希望文章能够帮你解决在Visual Studio 2017 Linux项目中无法识别Linux头文件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。