• 使用wincrypt生成随机字符串

    ·

    发布于

    修改于

    低效代码,用于生成少量随机字符串的场景。

    //定义WIN32_LEAN_AND_MEAN以排除加密、DDE、RPC、Shell 和 Windows 套接字等 API。
    #define WIN32_LEAN_AND_MEAN
    #include <Windows.h>
    #include <wincrypt.h>
    #include <stdio.h>
    //两个参数,分别是接收字符串的缓冲区地址和缓冲区长度(包含结尾的0,也就是说字符串的有效长度是len-1)
    BOOL GenRandomString(char *str, int len) {
      HCRYPTPROV hCryptProv;
      BYTE c;
      BOOL r = TRUE;
      if (CryptAcquireContextA(
              &hCryptProv, NULL,
              (LPCSTR) "Microsoft Base Cryptographic Provider v1.0", PROV_RSA_FULL,
              CRYPT_VERIFYCONTEXT) == FALSE) {
        return FALSE;
      }
      for (int i = 0; i < len - 1; i++) {
        if (CryptGenRandom(hCryptProv, 1, (BYTE *)&c)) {
          if (c >= 48 && c <= 57) {
            str[i] = c;
          } else if (c >= 65 && c <= 90) {
            str[i] = c;
          } else if (c >= 97 && c <= 122) {
            str[i] = c;
          } else {
            str[i] = c % 26 + 97;
          }
        } else {
          r = FALSE;
          break;
        }
      }
      CryptReleaseContext(hCryptProv, 0);
      if (r) {
        str[len - 1] = 0;
      }
      return r;
    }
    
    int main(void) {
      char str[10];
      for (int i = 0; i < 100; i++) {
        GenRandomString(str, sizeof(str));
        printf("%s\n", str);
      }
      return 1;
    }

  • 2024年基本书单

    ·

    发布于

    修改于

    不包含计算机类的书。且有一些是已经阅读过的,甚至不只阅读过一遍的。粉色为已经阅读完毕。

    1. 《如何阅读一本书》.莫提默·J.艾德勒 查尔斯·范多伦
    2. 《强势》.曼纽尔·J.史密斯
    3. 《权利》.杰弗瑞·菲佛
    4. 《权利进化论》.杰弗瑞·菲佛
    5. 《暂坐》.贾平凹
    6. 《逻辑思维经典入门》.威廉·沃克·阿特金森
    7. 《剑桥大学教授的逻辑课》.路德维希·约瑟夫·约翰·维特根斯坦
    8. 《认知觉醒》.保罗·斯隆
    9. 《通向奴役之路》.弗里德里希·哈耶克
    10. 《鲁迅作品十五讲》.钱理群
    11. 《筚路维艰》.萧冬连
    12. 《大问题》.罗伯特·所罗门、凯思林·希金斯
    13. 《中华成语典故》.张婷婷


  • 《如何阅读一本书》摘要

    ·

    发布于

    修改于

    阅读的四个层次

    1. 基础阅读

    这个层次中,要问读者的问题是“这个句子在说什么?”

    1. 检视阅读

    在这个阅读层次,学生必须在规定的时间内完成一项阅读的功课。这个层次的典型问题就是“这本书在谈什么?”

    1. 分析阅读

    这是全盘的阅读、完整的阅读,或者说是更优质的阅读,就是要咀嚼消化一本书。分析阅读就是特别在追寻理解的。

    1. 主题阅读

    也可称为比较阅读。在做主题阅读时,阅读者会读很多书,而不是一本书,并列举出这些书之间相关之处,提出一个所有书都谈到的主题。主题阅读要求读者要能够架构出一个可能在哪一本书里都没提过的主题分析。

    (更多…)

  • 编译libxml2

    ·

    发布于

    修改于

    通过CMake生成VS2022解决方案.sln等文件。

    默认情况下,编译出来的libxml2库会链接WS2_32.DLL等动态库,这是我不想要看到的。需要在libxml/xmlversion.h文件中去掉我们不需要的功能,就可以减小静态库的体积且能去除WS2_32.DLL等动态库的链接。

    使用下面的xmlversion.h编译的库不包含WS2_32.DLL动态库,但该配置应该也不是最小化的配置,以后有时间再测试吧。

    (更多…)

  • 换下了用了两年多的机箱风扇

    ·

    发布于

    修改于

    这三把风扇用了两年多,出现了异响,换了三把银昕。德商必酷的风扇总体来说还行吧,确实静音,不过就是有点贵。

    德商必酷SILENT WINGS 3 (14cm)

  • 现实真理

    ·

    发布于

    修改于

    黄莲救人无功,因为它苦;人参杀人无过,因为它补。


  • 又看了一遍1942

    ·

    发布于

    修改于

    当年上映的时候在电影院看过两遍,前几天拿出来又看了一遍,记录一下让我印象比较深刻的场景。

    • 瞎鹿疑似被吃。
    • 军人抢主角女儿。
    • 流动法庭的范伟前后身份的变化。
    • 主角女儿被以服装厂招工的名义卖到妓院,显然所有人在服装厂招工的时候就知道这个招工是怎么回事。
    • 我也要喝猫汤。
    • 多处人口买卖。
    • 河南政府主席对赈灾粮的操作是拿出一部分来换成金条用于行贿,不这么做的话,其能用的赈灾粮更少。

  • 出口管制分类号(ECCN)

    ·

    发布于

    修改于

    官网机翻

  • 此次禁令的标准和一些显卡的TPP&PD

    ·

    发布于

    修改于

    3A090.a

    1. TPP超过4800。
    2. TPP超过1600,同时PD超过5.92。

    3A090.b

    1. TPP在2400至4800之间,同时PD介于1.6至5.92之间。
    2. TPP高于1600,同时PD介于3.2至5.92之间。

    一些显卡的TPP&PD(可能是错的)

    显卡TPP=FP32 TFLOPS * 32(Bit)PD=TPP / Die Size
    RTX 40902642.564.34
    RX 7900 XTX1965.443.71
    一些显卡的TPP&PD

    有可能需要把上面的TPP再乘以2才会得出正确的结果。那样4090就是既没有命中3A090.a也没有命中3A090.b。而是命中了NAC,也是命中NAC的唯一游戏显卡。


  • Windows C运行时库

    ·

    发布于

    修改于

    (更多…)


最新