小编ale*_*nst的帖子

在.pro文件中强制使用特定版本的QT

我正在寻找一种在.pro文件中强制使用特定版本QT的方法.更具体一点,我想强迫qmake我的项目使用QT 5.x版本而不是QT 4.x和QT 5.x

有办法吗?

PS:我不是在问一个方式停止/暂停编译过程(又名查QT版本,如果不是5.x的降低只是扔qFatal /当量).我正在寻找一种方法来实际选择在生成Makefilewith时使用哪个版本qmake

qt qmake

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

短jmp指令的语法

我正在阅读http://thestarman.pcministry.com/asm/2bytejumps.htm,但是关于如何对JMP偏移量进行操作的文本不太清楚(在不使用标签的情况下短暂跳转到相对地址).

让我说我有

NOP
NOP
NOP
NOP
Run Code Online (Sandbox Code Playgroud)

(这是4个字节的指令),我想跳过它们(跳过4个字节).我会写什么?

jmp $+4;

jmp $+2+4;

assembly

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

保存,组织和查询产品,选项/标签和类别

首先,让我明确表示我不会要求任何代码; 我只是想要一些关于如何实现我要问的内容的一般性想法/指导/意见.

我开始建立一个在线电子商务系统(Yii2 + MongoDB,所以,PHP + NoSQL),有两个必要条件,我不完全确定如何实现,而不会在我的代码和数据库.

两个必需品都是相关的,所以我将它们解释为一个.

与任何其他严肃的电子商务一样,它也有类别.而且,与任何其他严肃的电子商务一样,每种产品都会有tagsoptions.让我再解释一下我所说的tags/ options.

这些是用户在购买产品时可以选择的可用选项,例如颜色或尺寸,材料等.

  1. 分类

将有多个general类别以及其他子类别.例如,Electronics可以是一般类别,子类别可以是ComputersSmart TVs.然后,MotherboardsRAM可能的子类Computers.

这本身可以很容易地存储在数据库中,但是这里出现问题:

  • 列出其所属的任何类别或上层类别时,应显示每个产品.这意味着如果我(作为最终用户)浏览Computers类别中的所有项目,我应该看到NVIDIA GTX670哪个属于该类别的子Graphic cards类别Computers.

我可以通过以下方式保存每个产品:

{
    _id: asdasfwetrw34tw34t245y45y,
    name: "NVIDIA GTX670",
    price: 99.50,
    ...
    ...
    categories: [
        "Electronics", //<-- just the ID of that group
        "Computers", //<-- just the ID of that group
        "Graphic cards" //<-- just …
Run Code Online (Sandbox Code Playgroud)

php mongodb nosql yii2

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

array_filter将索引数组转换为关联数组

我有一个索引数组,包含一些关联数组,我应用一个简单的

$my_arr = array_filter($my_arr, function($obj) {
    return $obj["value"] < 100;
});
Run Code Online (Sandbox Code Playgroud)

用于过滤数组中的一些项目的函数.

这开始以奇怪的方式使我的Angular前端错误,所以几分钟后我发现$my_arr正在从索引数组转换为关联数组.

  • 这是预期的行为array_filter吗?
  • 我怎么知道array_filter我想要一个索引数组?

编辑:根据评论的要求,我的$my_arr:

$my_arr = [
    ["foo" => "bar", "value" => 10],
    ["foo" => "var", "value" => 30],
    ["foo" => "car", "value" => 440],
    ["foo" => "dar", "value" => 700]
]
Run Code Online (Sandbox Code Playgroud)

编辑:我的代码中的真实世界提取:

$media = [
    "photos" => [
        ["foo" => "bar", "value" => 10],
        ["foo" => "var", "value" => 20],
        ["foo" => "car", "value" => 50],
    ]
];

echo …
Run Code Online (Sandbox Code Playgroud)

php arrays projection higher-order-functions

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

将静态库链接到共享库或二进制文件

我有一个来自项目的静态库A(我们称之为它liba.so),我想在我的项目中编译一个共享库B(我们称之为它libb.so)并嵌入liba.so其中。

另外,我在该项目中有一个二进制文件B,它也依赖于liba.so,所以我想将它嵌入到二进制文件中。

那可能吗?如何?

meson-build

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

将蒙版应用于盒子阴影

我有一个mask应用了 a 的 div 。我注意到我不能box-shadow在同一个 div 上应用 a,所以我必须将阴影移动到“包装器”div。

问题是,如果将阴影放置在阴影 div 上,则mask不会应用于阴影。

如何将 a 应用于maskdiv 及其阴影?

.wrapper {
  width: 200px;
  height: 200px;
  box-shadow: 17px 13px 7px 3px rgba(0,0,0,0.75);
}

.b {
  width: 200px;
  height: 200px;
  background-color: yellow;
  border: 2px solid black;


  
  -webkit-mask: radial-gradient(
    circle at center top,
    transparent 30px,
    black 31px
  ) top / 100% 51%, 
  radial-gradient(
    circle at right bottom,
    transparent 30px,
    black 31px
  ) right bottom / 51% 51%, 
  radial-gradient(
    circle …
Run Code Online (Sandbox Code Playgroud)

html css css-shapes css-mask

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

劫持sys调用

我正在写一个内核模块,我需要劫持/包装一些sys调用.我蛮力强制sys_call_table地址,我正在使用cr0来禁用/启用页面保护.到目前为止一切都很好(一旦完成,我会公开整个代码,所以如果有人想要我可以更新这个问题).

无论如何,我注意到如果我劫持__NR_sys_read我在卸载内核模块时会得到内核oops,并且所有konsoles(KDE)都会崩溃.请注意,这不会发生__NR_sys_open__NR_sys_write.

我想知道为什么会这样.有任何想法吗?

PS:请不要采用KProbes方式,我已经了解它并且我不可能使用它,因为最终产品应该可以使用而无需重新编译整个内核.

编辑 :(添加信息)

我在卸载前恢复原来的功能.另外,我创建了两个测试用例,一个_write只有一个,一个有_read.一个_write卸载很好,但_read卸载然后崩溃的内核).

编辑 :(源代码)

我目前在家,因此我现在无法发布源代码,但如果有人想要,我可以在我上班后立即发布示例代码.(~5小时)

c linux kernel system-calls kernel-module

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

是!var与var!= NULL相同?

我想知道,如果!var是一样的var != NULL,如果varchar *.

这是一个非常小的POC,它表明它不是一回事(或者我做错了什么?)但我不明白为什么.

int main(void) {
    char *c = NULL;
    if(!c){
        printf("1\n");
    }else{
        printf("2\n");
    }

    if(c != NULL){
        printf("1\n");
    }else{
        printf("2\n");
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出是

1
2
Run Code Online (Sandbox Code Playgroud)

我在x64 Arch Linux,GCC 4.8.2上运行它

编辑:要么我需要一些真正的睡眠,要么你们都误读了程序的实际输出!请阅读几次.

!c意思是"如果c不是NULL",这是假的,所以它应该2在第一个打印if,但它打印1!

编辑:的确,我需要睡个好觉.我不知道我在想什么.谢谢你们!

c null pointers

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

使用uint16_t和按位操作时期望的数字

我有这个简单的代码:

#include <stdio.h>
#include <stdint.h>

int main(void) {
    uint16_t i = 0;
    unsigned char *b = "Yh";
    i = b[1] | (b[0] << 8);
    printf("uint16_t: %u\n", i);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我将Y (HEX: 0x59, DEC: 89)h (HEX: 0x68, DEC: 104)一个uint16_t有位运算.

所述Y被移动到左侧8个比特和h被加在最后.最终的内容i应该是89 104吧?

如果我然后打印i,我应该期待什么号码出来?我现在正在接受22888,我不知道为什么,也不是我应该得到的.

c c++ bit-manipulation

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

获取由mkstemp()创建的文件名

是否可以从调用中获取文件名(和路径)mkstemp()?如果"是",怎么样?

c file mkstemp

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