小编Her*_*nán的帖子

Linux/UNIX中COM编程的模拟

组件对象模型(COM)是(或者是......)Windows中提供与语言无关的软件组件的方式.

Linux/UNIX中是否有任何编程模型与二进制组件的代码重用原理相同?

unix linux com components

17
推荐指数
2
解决办法
1269
查看次数

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

通过套接字传输文件,最终大小用较少的字节

我试图通过C中的套接字接收一些文件.但是服务器向我发送了一个100字节文件的64字节数据包,我在目标文件上得到大约999902字节.

while ((n = read(sd, buffer_in, BUFSIZE ))) //  BUFSIZE = 64 
{
    if(n<0)
    {
       printf("Fail.\n");
       fclose(archivo);
       return -1;
    }

    if(fwrite(buffer_in, n, 1, f) !=1 ) 
    { 
       printf("fwrite error.\n");
       fclose(archivo);
       return -1;
    }

    bytes+=n;
}

printf("We received %d bytes",  bytes);
Run Code Online (Sandbox Code Playgroud)

通过本地TCP/IP套接字使用时,它可以正常工作,但不能以慢速连接方式使用.我通过调试看到我得到了很多64字节的块,并且在EOF附近有一个30字节的块.我知道你可以在read()上获得更少的字节,因为当任何数据(> 1个字节)可用时调用返回.但这种情况不应该被赶上吗?应该在n == 0时返回,那就是不再有数据(EOF).

谢谢你的帮助.

(编辑)

发送代码如下:

while (n=read(file_fd, buffer, BUFSIZE))
{
   write (sdaccept, buffer, n)
}
Run Code Online (Sandbox Code Playgroud)

我知道read()和write()都可以返回N <BUFSIZE,但是这个循环不应该相应地计算出来吗?我加了n并返回1000000,确切的大小.

(编辑II)

使用10673字节的C源测试,接收10575没有损坏,除了目标文件LACKS前98字节!

c sockets file-transfer

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

用于异常处理和报告的SmartAssembly的替代方案?

我很高兴SmartAssembly解决方案用于异常处理,但我在Red Gate论坛上报告了一个问题,但尚未解决.

SA有哪些替代方案?我的意思是具有类似功能(托管您的报告,发送电子邮件等)?

.net c# exception-handling .net-4.0 smartassembly

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

NestJS:在 POST 请求中将 @Param 和 body 值设置为 DTO

我有一个 POST 请求条目,其中指定“帐户”参数作为路径参数,并在正文中指定一个布尔值来设置验证状态,例如:

POST /users/authorized/USER_ACCOUNT1

身体会携带:

valid=1
Run Code Online (Sandbox Code Playgroud)

我有以下控制器条目:

@ApiTags('users')
    @ApiOperation( { summary: 'Set user account status.  '} )
    @Post('authorized/:account')
    async setAuthStatus(params: SetUserAuthDto) {
        return this.userService.setUserAuthDto(params);
    }
Run Code Online (Sandbox Code Playgroud)

如何将“帐户”和请求正文“状态”参数提供给同一个 DTO?我想我不能在那里同时使用装饰器 @Param 和 @Body 。我应该使用管道吗?

我是 NestJS 的新手,请原谅我的无知。

谢谢。

api parameters request dto nestjs

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

XPath表达式:选择A HREF ="expr"标记之间的元素

我没有找到一种明确的方法来选择<a></a>HTML文件中两个锚点(标记对)之间存在的所有节点.

第一个锚具有以下格式:

<a href="file://START..."></a>
Run Code Online (Sandbox Code Playgroud)

第二锚:

<a href="file://END..."></a>
Run Code Online (Sandbox Code Playgroud)

我已经验证了可以使用starts-with选择两者(请注意我使用的是HTML Agility Pack):

HtmlNode n0 = html.DocumentNode.SelectSingleNode("//a[starts-with(@href,'file://START')]"));
HtmlNode n1 = html.DocumentNode.SelectSingleNode("//a[starts-with(@href,'file://END')]"));
Run Code Online (Sandbox Code Playgroud)

考虑到这一点,以及我的业余XPath技能,我编写了以下表达式来获取两个锚点之间的所有标记:

html.DocumentNode.SelectNodes("//*[not(following-sibling::a[starts-with(@href,'file://START0')]) and not (preceding-sibling::a[starts-with(@href,'file://END0')])]");
Run Code Online (Sandbox Code Playgroud)

这似乎工作,但选择所有HTML文档!

我需要,例如对于以下HTML片段:

<html>
...

<a href="file://START0"></a>
<p>First nodes</p>
<p>First nodes
    <span>X</span>
</p>
<p>First nodes</p>
<a href="file://END0"></a>

...
</html>
Run Code Online (Sandbox Code Playgroud)

删除两个锚点,三个P(当然包括内部SPAN).

有什么办法吗?

我不知道XPath 2.0是否提供了更好的方法来实现这一目标.

*编辑(特殊情况!)*

我还应该处理以下情况:

"在X和X'之间选择标签,其中X是<p><a href="file://..."></a></p>"

所以代替:

<a href="file://START..."></a>
<!-- xhtml to be extracted -->
<a href="file://END..."></a>
Run Code Online (Sandbox Code Playgroud)

我也应该处理:

<p>
  <a href="file://START..."></a>
</p>
<!-- xhtml to be extracted -->

<p>
  <a href="file://END..."></a>
</p> …
Run Code Online (Sandbox Code Playgroud)

html tags select xpath

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

Qt4.5:在app.exec之前使用基于事件循环的localsocket

我正面临着Qt的实际问题.我正在使用一个与QLocalSocket通信的类到另一个进程(管道/ unix套接字),我需要在其他事件发生之前进行通信,即在app.exec()启动之前(或者更确切地说,应用程序启动之后) ).我正在使用的类需要一个eventloop,所以如果我在启动事件循环之前调用类方法它就不起作用.事件循环准备好后,有什么办法可以启动吗?我想要创建一个隐藏的仅限事件的窗口,并在隐藏的窗口构造函数中执行我的职责,并将此窗口固定为顶层.

基本上,我需要这个本地套接字通信任务在事件循环可用时立即启动.

有任何想法吗?

谢谢.

events qt multithreading loops qlocalsocket

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

如何检测WinCE C/C +运行时库下的泄漏?

我知道使用crtdbg.h头的Win32基本泄漏检测的可能性,但是这个头在CE CRT库头中不可用(我使用的是最新的SDK v6.1).

任何人都知道如何使用VC 9.0自动检测WinCE/ARMV4I配置中的泄漏?我不想为我的类层次结构覆盖new/delete,我更愿意使用和测试代码.

c++ memory-leaks windows-mobile crtdbg.h windows-ce

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

将一元谓词传递给C++中的函数

我需要一个为我的类建立一个显示项目的策略的函数.例如:

SetDisplayPolicy(BOOLEAN_PRED_T f)
Run Code Online (Sandbox Code Playgroud)

这假设BOOLEAN_PRED_T是一个函数指针,指向某些布尔谓词类型,如:

typedef bool (*BOOLEAN_PRED_T) (int);
Run Code Online (Sandbox Code Playgroud)

我只对以下内容感兴趣:当传递的谓词为TRUE时显示某些东西,当它为假时不显示.

上面的例子适用于返回bool和取一个int的函数,但是我需要一个非常通用的指针用于SetDisplayPolicy参数,所以我想到了UnaryPredicate,但它与boost相关.如何将一元谓词传递给STL/C++中的函数?unary_function< bool,T >因为我需要一个bool作为返回值,所以不会工作,但是我想用最通用的方法向用户询问"返回bool的一元函数".

我想到了我自己的类型:

template<typename T>
class MyOwnPredicate : public std::unary_function<bool, T>{};
Run Code Online (Sandbox Code Playgroud)

这可能是一个好方法吗?

c++ arguments stl predicate

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

为什么编译器会警告一个未初始化的变量,即使我已经为该变量分配了每个字段?

我正在完全分配匹配的每个可能大括号中MyStruct命名的实例的字段x:

enum MyEnum {
    One,
    Two,
    Three,
}

struct MyStruct {
    a: u32,
    b: u32,
}


fn main() {
    f(MyEnum::One);
    f(MyEnum::Two);
    f(MyEnum::Three);
}

fn f(y: MyEnum) -> MyStruct {
    let mut x: MyStruct;

    match y {
        MyEnum::One => {
            x.a = 1;
            x.b = 1;
        }
        MyEnum::Two => {
            x.a = 2;
            x.b = 2;
        }
        MyEnum::Three => {
            x.a = 3;
            x.b = 3;
        }
    }

    x
}
Run Code Online (Sandbox Code Playgroud)

为什么编译器会返回以下错误?

error[E0381]: use of possibly uninitialized variable: …
Run Code Online (Sandbox Code Playgroud)

initialization match rust

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

Vuex:如何从操作订阅事件

我对 Vuex 还很陌生,我想做的事情很简单,但我不知道典型的 Vuex 代码使用的最佳模式是什么。

我有一个初始化和存储Machine对象的操作,该对象也可以发出我想订阅的状态事件并收到商店用户的通知。

例如:此操作定义为:

createMachine({ commit, state }) {
      return state.m.createMachine().then(
        function (machineObject) {
          commit('setMachine', machineObject);
         }
      )
    }
Run Code Online (Sandbox Code Playgroud)

machineObject我想从商店内部监听创建的对象事件,并最终更新一个商店变量,我可以使用以下内容从组件中观看该变量:

computed: { getMachineStatus() { return this.$store.state.machineStatus } }
Run Code Online (Sandbox Code Playgroud)

我说清楚了吗?

谢谢。

events store vuex

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