showems.c

  name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-5572165936844014&dt=1194442938015&lmt=1194190197&format=336x280_as&output=html&correlator=1194442937843&url=file%3A%2F%2F%2FC%3A%2FDocuments%2520and%2520Settings%2Flhh1%2F%E6%A1%8C%E9%9D%A2%2FCLanguage.htm&color_bg=FFFFFF&color_text=000000&color_link=000000&color_url=FFFFFF&color_border=FFFFFF&ad_type=text&ga_vid=583001034.1194442938&ga_sid=1194442938&ga_hid=1942779085&flash=9&u_h=768&u_w=1024&u_ah=740&u_aw=1024&u_cd=32&u_tz=480&u_java=true" frameborder="0" width="336" scrolling="no" height="280" allowtransparency="allowtransparency"> #include <stdio.h>
#include <stdlib.h>
#include <dos.h>
#include <string.h>

int check_for_ems(void)
  {
     union REGS inregs, outregs;
     struct SREGS segs;
 
     int major, minor;   // DOS version

     struct DeviceHeader
   {
       struct DeviceHeader far *link;
       unsigned attributes;
       unsigned strategy_offset;
       unsigned interrupt_offset;
       char name_or_number_of_units[8];
     } far *dev;

     int i;
     char driver_name[9];

     // Get the DOS version
     inregs.x.ax = 0x3001;
     intdos (&inregs, &outregs);
     major = outregs.h.al;
     minor = outregs.h.ah;

     if (major < 2)
       return(0);     // Requires DOS 2.0
     else
       {
   // Get the list of lists
   inregs.h.ah = 0x52;
   intdosx (&inregs, &outregs, &segs);

   if (major == 2)
    dev = (struct DeviceHeader far *)
     MK_FP(segs.es + 1, outregs.x.bx + 7);       
   else if ((major == 3) && (minor == 0))
    dev = (struct DeviceHeader far *)
     MK_FP(segs.es + 2, outregs.x.bx + 8);
   else
    dev = (struct DeviceHeader far *) 
     MK_FP(segs.es + 2, outregs.x.bx + 2);

   while (FP_OFF(dev) != 0xFFFF)
    {
     if (dev->attributes & 0x8000)
   {  // Character device
    for (i = 0; i < 8; i++)
     driver_name[i] = dev->name_or_number_of_units[i];
    driver_name[8] = NULL;      
   }
   
     if (! strcmp(driver_name, "EMMXXXX0"))
   return(1);   // Found driver
  
     dev = dev->link;
    }
     }

  return(0);
}

void main(void)
  {
    union REGS inregs, outregs;
    struct SREGS segs;

    unsigned handle;
    unsigned page;
    unsigned index, page_number;

    unsigned page_frame_address;

    char far *data;

    if (check_for_ems())
      {
 inregs.h.ah = 0x40;
 int86 (0x67, &inregs, &outregs);

 // Make sure EMS is functional
 if (outregs.h.ah == 0)        
   {
     // Allocate a handle for 5 pages
     inregs.h.ah = 0x43;
     inregs.x.bx = 5;
     int86 (0x67, &inregs, &outregs);

     if (outregs.h.ah == 0)
       { 
   handle = outregs.x.dx;

   // Get the page frame address
   inregs.h.ah = 0x41;
   int86 (0x67, &inregs, &outregs);
  
   if (outregs.h.ah == 0)
     {                
       page_frame_address = outregs.x.bx;

       // map the first 4 pages
       for (page_number = 0; page_number < 4; page_number++)
         {
     inregs.h.ah = 0x44;
     inregs.h.al = page_number;  // Physical page
     inregs.x.bx = page_number;  // Logical page
     inregs.x.dx = handle;

     int86 (0x67, &inregs, &outregs);
 
     if (outregs.h.ah != 0)
       {
          printf ("Error mapping pages %xH/n",
     outregs.h.ah);

          // Release the handle
          inregs.h.ah = 0x45;
          inregs.x.dx = handle;
          int86 (0x67, &inregs, &outregs);           
          exit(0);
       }
         }       
       // Fill the first four pages
       data = (char far *) MK_FP(page_frame_address, 0);
    
       for (index = 0; index < 16384; index++)
         data[index] = 'A';

       for (index = 16384; index < 32768; index++)
         data[index] = 'B';

       for (index = 32768; index < 49152; index++)
         data[index] = 'C';

       for (index = 49152; index != 0; index++)
         data[index] = 'D';

       // Map logical page 4 into physical page 1
       inregs.h.ah = 0x44;
       inregs.h.al = 1;  // Physical page
       inregs.x.bx = 4;  // Logical page
       inregs.x.dx = handle;

       int86 (0x67, &inregs, &outregs);
 
       if (outregs.h.ah != 0)
         {
     printf ("Error mapping page %xH/n",
       outregs.h.ah);

     // Release the handle
     inregs.h.ah = 0x45;
     inregs.x.dx = handle;
     int86 (0x67, &inregs, &outregs);           
     exit(0);
         }

       // Fill page 4 which resides in page 1
       for (index = 16384; index < 32768; index++)
         data[index] = 'E';
       
       // Display the first 20 bytes of each page
       printf ("Physical Page Zero/n");
       for (index = 0; index < 20; index++)
         printf ("%c ", data[index]);

       printf ("/nPhysical Page One/n");
       for (index = 16384; index < 16404; index++)
         printf ("%c ", data[index]);

       printf ("/nPhysical Page Two/n");
       for (index = 32768; index < 32788; index++)
         printf ("%c ", data[index]);

       printf ("/nPhysical Page Three/n");
       for (index = 49152; index < 49172; index++)
         printf ("%c ", data[index]);

       // Map logical page 1 into physical page 3
       inregs.h.ah = 0x44;
       inregs.h.al = 3;  // Physical page
       inregs.x.bx = 1;  // Logical page
       inregs.x.dx = handle;

       int86 (0x67, &inregs, &outregs);
 
       if (outregs.h.ah != 0)
         {
     printf ("Error mapping page %xH/n",
       outregs.h.ah);

     // Release the handle
     inregs.h.ah = 0x45;
     inregs.x.dx = handle;
     int86 (0x67, &inregs, &outregs);           
     exit(0);
         }

       printf ("/nMapping logical page 1 to physical page 3");
       printf ("/nPhysical Page Three/n");
       for (index = 49152; index < 49162; index++)
         printf ("%c ", data[index]);

     }
   else
     printf ("Error getting base address %xH/n",
       outregs.h.ah);
     
   // Release the handle
   inregs.h.ah = 0x45;
   inregs.x.dx = handle;
   int86 (0x67, &inregs, &outregs);           
       }
     else
       printf ("Error allocating 5 pages %xH/n",
  outregs.h.ah);
   }
 else
  printf ("EMM not functional/n");
      }
    else
      printf ("EMS driver not present/n");

  }


资源下载链接为: https://pan.quark.cn/s/d0b0340d5318 Cartopy安装所需包分为两个部分,分别需要下载。以下是下载链接和建议的操作步骤: Cartopy安装所需包2:Cartopy安装所需包2.rar 安装教程:Cartopy安装教程之pip篇 下载文件: 首先,分别下载上述两个链接中的文件。第一个链接包含了Cartopy安装所需的包(部分),第二个链接是详细的安装教程。 建议将下载的文件解压后,统一放在一个路径下,例如命名为“Cartopy安装文件”的文件夹,方便后续操作。 参考安装教程: 安装教程详细介绍了通过pip安装Cartopy的步骤,包括环境变量设置、下载必要安装包、安装过程以及测试。 根据教程,需要安装的依赖包包括numpy、pyshp、Shapely、pyproj、Pillow等,教程中还提供了针对Windows系统的预编译版本下载链接。 安装过程中可能会遇到缺少pykdtree和scipy模块的情况,教程也提供了相应的解决方法。 安装注意事项: 确保Python环境变量已正确设置,可通过命令行输入python --version来验证。 安装Wheel工具,用于安装.whl文件。 按照教程中的命令依次安装各个依赖包,注意版本号需与Python版本匹配。 如果遇到缺少模块的错误,按照教程中的方法进行安装。 通过以上步骤,可以顺利完成Cartopy的安装。如果在安装过程中遇到问题,可以参考安装教程中的详细说明或在相关社区寻求帮助。
资源下载链接为: https://pan.quark.cn/s/dab15056c6a5 《Isight教程——Isight参数优化理论与实例详解》是一本专注于Isight软件在参数优化领域的专业书籍,非常适合初学者。Isight是一款功能强大的多学科优化工具,广泛应用于工程设计、仿真分析和决策支持。它能够有效管理复杂系统模型,实现多目标优化,并在不同工程领域高效整合数据。 本书内容分为两大部分:参数优化理论和实际应用案例。在理论部分,读者将学习如何构建优化问题的数学模型,包括设定目标函数和约束条件。优化算法是解决问题的关键,Isight支持多种算法,如梯度法、无梯度法、遗传算法、模拟退火等,每种算法都有其适用场景和优势。理解这些算法的工作原理和优缺点,有助于选择合适的策略解决实际问题。 在实例部分,通过详细步骤解析,展示了如何在Isight中实现这些理论。每个章节的Isight源码都对应一个具体的工程问题,涵盖机械设计、流体动力学、结构力学等多个领域。通过实际操作,读者可以掌握模型导入、接口配置、优化设置以及结果后处理等关键步骤。此外,读者还将学会如何利用Isight的图形用户界面(GUI)或脚本语言(如Python或Matlab)来定制化工作流程,提高工作效率。每个源码文件都包含了模型输入、优化参数、求解器设置和结果输出等内容,通过对这些代码的学习和实践,读者可以深入理解Isight如何将理论知识转化为实际的工程解决方案。 教程还强调了Isight与其他软件的集成能力,例如与ANSYS、ABAQUS、Comsol等常用工程仿真软件的接口。这种跨软件的协同工作方式使得数据交换和模型联动更加便捷,对于现代工程设计至关重要,因为它允许工程师在一个统一的平台上管理整个项目的优化流程。 《Isight教程——Isight参数优化理论与实例详解》是一本全面且实用的学习资源。它不仅提
资源下载链接为: https://pan.quark.cn/s/7cc20f916fe3 在电商领域,网站模板是搭建在线商店的高效且经济的方式。这些模板集成了预设计的页面布局、色彩搭配、图形元素和交互功能,能帮助开发者或非专业人士快速搭建出专业外观的电商平台。"电商网站模板40多套"提供了丰富选择,满足不同商家和个人的需求,无论是简约、时尚还是传统风格的设计都能找到。 设计风格多样:40多套模板覆盖了多种设计风格,如极简主义、扁平化、响应式布局,以及针对时尚、家居、电子产品等特定行业的定制模板。每套模板通常包含主页、产品展示页、购物车、用户登录/注册、订单处理、关于我们等常见页面。 响应式布局:在移动设备普及的当下,响应式设计是关键。这些模板能够自动适配不同屏幕,尺寸确保在手机、平板和桌面电脑上都能提供良好的用户体验。 优化用户体验:优质的电商模板会注重用户体验,例如清晰的产品图片展示、简洁的导航菜单、便捷的搜索功能、直观的购物车和结账流程等,从而提高转化率和销售额。 集成内容管理系统:这些模板通常与流行的CMS系统(如WordPress、Shopify、Magento等)兼容,方便用户管理商品、订单和客户数据。 SEO友好:电商模板会考虑搜索引擎优化,包括合理的HTML结构、优化的元标签和友好的URL,以提升网站在搜索引擎结果中的排名。 可定制性:虽然模板提供了预配置设计,但同时也允许一定程度的自定义,比如调整颜色、字体、添加自定义代码等,以满足用户的独特需求。 安全性:电商模板需要遵循安全标准,例如使用HTTPS加密、集成安全支付网关,以保护用户数据和交易安全。 多语言支持:对于面向多语言市场的商家,模板应支持多语言切换,方便不同地区的用户访问。 插件和扩展:模板可能预装了实用插件,如评价系统、优惠券管理、邮件订阅等,也可能提供扩展接口,方便用户添加更多功能。 技术支持
资源下载链接为: https://pan.quark.cn/s/c705392404e8 在计算机视觉领域,OpenCV 是一个强大的开源工具,广泛应用于图像处理和计算机视觉任务。本教程将详细介绍如何结合 Python 和 OpenCV 实现多种图像处理功能,包括四角定位、扭曲矫正、效果增强、标记识别和截取有效区域。 首先,四角定位是图像处理中的关键步骤,主要用于识别图像中的特定形状或特征点。在 OpenCV 中,可以通过 findContours 函数检测图像轮廓,再利用 approxPolyDP 函数近似轮廓顶点,从而确定四角点的位置。这一技术在二维码识别和文档扫描等场景中极为实用。 其次,图像扭曲矫正是为了解决因拍摄角度或镜头畸变导致的图像变形问题。OpenCV 提供了 getPerspectiveTransform 和 warpPerspective 函数,能够计算并应用透视变换,将变形的图像调整为正常视角。此过程通常需要四个参考点,如图像的四个角。 效果增强是提升图像质量的重要环节,包括亮度调整、对比度增强和去噪等。OpenCV 提供了多种工具,如 addWeighted 函数可用于调整图像的亮度和对比度;GaussianBlur 函数可实现高斯滤波去噪;Canny 函数则用于增强图像的边缘信息。 标记识别则涉及对象分类和识别,通常需要借助深度学习模型。虽然 OpenCV 本身不包含预训练的深度学习模型,但它可以与 TensorFlow、PyTorch 等框架结合使用。例如,可以使用 cv2.dnn.readNetFromTensorflow 加载 TensorFlow 模型,通过 dnn.blobFromImage 将图像转换为网络输入,再通过 net.forward 执行预测。 最后,截取有效区域是指从图像中提取感兴趣的特定部分。可以通过定义矩形或多边形区域,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值