小编lal*_*lli的帖子

删除列表中的前n个项目

我正在尝试创建一个删除列表前n项的函数:

let rec drop n h =
   if n == 0 then h else (drop n-1 (match h with a::b -> b));;
Run Code Online (Sandbox Code Playgroud)

这给了:

Characters 43-49:
   if n == 0 then h else (drop n-1 (match h with a::b -> b));;
                          ^^^^^^
Error: This expression has type 'a -> 'b but is here used with type int
Run Code Online (Sandbox Code Playgroud)

这有什么不对?这是我在OCAML的第一天(通常使用函数式编程),我只是在互联网上关注手册和教程.我不知道这个消息是什么意思.

此外,这是较大的作业的一部分,除了函数定义之外不需要使用Let,也不使用额外的库

ocaml

4
推荐指数
2
解决办法
1748
查看次数

比较浮动列表

我写了一个代码:

let rec compareVs v1 v2 =
 if List.length v1 == 0 then
  true
 else
  ((match v1 with [] -> 0. | h::l -> h) == (match v2 with [] -> 0. | h::l -> h)) && 
  (compareVs(match v1 with [] -> [] | h::l -> l) (match v2 with [] -> [] | h::l -> l))
Run Code Online (Sandbox Code Playgroud)

并运行它:

# compareVs [0.1;0.1] [0.1;0.1];;
- : bool = false
Run Code Online (Sandbox Code Playgroud)

似乎无法找到问题.请帮忙.

编辑

问题与浮点数比较接缝:

# 0.1 == 0.1;;
- : bool = false
# …
Run Code Online (Sandbox Code Playgroud)

ocaml

3
推荐指数
2
解决办法
8425
查看次数

没有设备的设备驱动程序?

我正在创建一个需要使用一些内核级模块的应用程序,为此我将应用程序划分为2个:一个用户级程序和一个内核级程序.

在阅读了设备驱动程序并阅读了一些教程之后,我有点困惑.

是否有设备驱动程序没有任何特定设备与之关联?除了在内核模式下工作的设备驱动程序(内核代码或其他东西)之外还有什么吗?

防病毒程序和其他此类应用程序如何在内核模式下工作?设备驱动程序是正确的方法还是我错过了什么?

windows kernel kernel-module

2
推荐指数
1
解决办法
2605
查看次数

给定一个带有原型的char*,我们可以将void*转换为函数指针吗?并运行它?

我在一个驱动程序中声明了许多函数,并将指向函数的指针传递给具有节点格式的列表中的另一个驱动程序:

struct node
{
 char def_prototype[256]; //example:(int (*)(wchar, int, int))
 void *def_function;
};
Run Code Online (Sandbox Code Playgroud)

有没有办法来强制转换def_function在给出的原型def_prototype

目前我正在使用简单的开关和strcmp,但我想尽可能概括它.
PS:我知道在void指针和函数指针之间进行转换是不安全的(如在SO的各个地方所提到的那样),但绝望的时候需要采取绝望的措施,我已经非常小心了.

编辑:
抱歉缺乏清晰度.我想实际调用函数(而不仅仅是强制转换它),在运行时根据提供的char []创建一个函数指针.

再次编辑:
由于我在内核级别(Windows驱动程序)工作,我无法访问太多资源,因此,我坚持我当前的实现(通过一些更改来杀死后门).感谢大家的帮助.

c

2
推荐指数
1
解决办法
523
查看次数

python中的倒逗号和字符串

我对 python 有点陌生,但我已经编写了很多程序,包括一些需要大量字符串操作的下载管理器、游戏和文本编辑器。
为了表示字符串文字,我使用单引号或双引号……以当时我首先想到的为准。

虽然我还没有遇到任何麻烦。我的问题:python 允许两者都有什么目的,还是只是为了兼容性、可用性等?

python string literals

1
推荐指数
1
解决办法
8492
查看次数

标签 统计

ocaml ×2

c ×1

kernel ×1

kernel-module ×1

literals ×1

python ×1

string ×1

windows ×1