您当前的位置: 首页 >  visual studio

phymat.nico

暂无认证

  • 5浏览

    0关注

    1967博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Visual Studio 2017开发linux程序使用实例及原理简析

phymat.nico 发布时间:2017-10-27 12:48:51 ,浏览量:5

1.下载安装vs开发linux程序的工具包

2.创建一个工程,选择跨平台里面的linux平台

3.写一段测试代码,这里就可以包含linux的系统头文件编译,不过vs下还是现实红的

#include 
#include 
#include 
#include 

#include 
#include 
#include 
#include 
#include 
#include 
#include 

#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;

int fd_ = 0;
int size_ = 0;
char *buff_ = nullptr;

void open_file(std::string file_name)
{
	fd_ = open(file_name.c_str(), O_RDONLY);
	if (fd_ == -1)
	{
		size_ = 0;
	}
	else
	{
		struct stat st;
		int r = fstat(fd_, &st);
		if (r == -1)
		{
			size_ = 0;
			close(fd_);
		}
		else
		{
			size_ = st.st_size;
		}
	}
}

void unmap_file()
{
	if (fd_ != -1)
	{
		close(fd_);
		munmap(buff_, size_);
	}
}
//if data is too big,create file spilt more file_index,mmap more times(hfrz ptr as start addr)
int mmap_file(int fd, char *buff)
{
	if (fd == -1)
	{
		return -1;
	}
	buff = (char *)mmap(NULL, size_, PROT_READ, MAP_PRIVATE, fd_, 0);
	if (buff == (void*)-1)
	{
		std::ostringstream oslog;
		oslog             
关注
打赏
1659628745
查看更多评论
0.2021s