小编Mui*_*uis的帖子

没有强制转换的整数指针

当我调用一个需要指针的函数时,我传入一个值,我得到了这个警告,我喜欢这样.

但是当值恰好是字面值'0'时,我没有得到警告.我认为这是因为C认为它是空指针,而不是值.有没有办法仍然得到0文字的警告,因为我已经有一些错误因为它.

c gcc pointers casting c99

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

WPF Gradient在2个方向

如果我想使列表框中所选项目的边缘看起来平滑,我这样做:

<Setter Property="Background" TargetName="Bd">
     <Setter.Value>
         <LinearGradientBrush EndPoint="0,0" StartPoint="1,0">
           <GradientStop Offset="0" Color="Transparent"/>
           <GradientStop Offset="0.05" Color="{x:Static SystemColors.HighlightColor}"/>
           <GradientStop Offset="0.95" Color="{x:Static SystemColors.HighlightColor}"/>
           <GradientStop Offset="1" Color="Transparent"/>
         </LinearGradientBrush>
     </Setter.Value>
 </Setter>
Run Code Online (Sandbox Code Playgroud)

但是,这只会使左右边缘平滑,而不是顶部和底部.如果我改变了StartPoint和EndPoint,我可以使顶部和底部平滑,但是我会松开左右两侧的平滑度.那么如何使用渐变画笔使所有4个边框平滑?

wpf gradient brush

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

区分字符串和字节数组?

我有很多函数需要一个字符串作为参数,我使用它char*,但我所有期望字节数组的函数也使用char*.

问题是我很容易犯错误,在字符串函数中传递一个字节数组,导致各种溢出,因为无法找到空终止符.

这通常如何解决?我可以想象改变我的所有字节数组函数uint8_t,然后编译器会在传递字符串时发出有关signed-ness的警告.或者这里的正确方法是什么?

c string gcc c99 buffer-overflow

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

第二次在c#中调用构造函数

是否可以再次调用构造函数,如下所示:

public ClassName()
{
    Value = 10;
}

public void Reset()
{
    // Reset
    ClassName();
}
Run Code Online (Sandbox Code Playgroud)

或者这是唯一的方法:

public ClassName()
{
    Reset();
}

public void Reset()
{
    // Reset
    Value = 10;
}
Run Code Online (Sandbox Code Playgroud)

c# constructor

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

NetBIOS是否进行任何缓存?

如果我从UNC网络共享中读取文件,Windows是否会缓存该文件的部分内容?

例如:如果我读取整个文件字节的字节,每个读取调用的结果是通过网络的请求,还是Windows内部读取更大的块,并从内存中提供后续请求?

file-io samba unc shared-directory netbios

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

中断安全缓冲区

我正在为嵌入式系统(Cortex M0)编写代码,并没有所有奢侈的互斥锁/自旋锁/等等.有没有一种简单的方法将数据添加到共享缓冲区(日志文件),该缓冲区将从Main()循环刷新到磁盘?

如果只有一个生产者(1个中断)和单个消费者(主循环),我可以使用一个简单的缓冲区,生产者增加'head',消费者增加'tail'.这将是非常安全的.但现在我有多个生产者(中断)似乎我被卡住了.

我可以为每个中断提供自己的缓冲区,并将它们组合在Main()中,但这需要大量额外的RAM和复杂性.

c locking interrupt c99 thread-safety

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

确保C中的枚举名称唯一性,而不添加长前缀

我发现自己总是将枚举的名称附加到其值,因为否则我经常与其他枚举冲突,例如:

typedef enum
{
    A_ONE,
    A_TWO,
} A;

typedef enum
{
    B_ONE,
    B_TWO,
} B;
Run Code Online (Sandbox Code Playgroud)

在C中有更好的方法吗?

c enums c99

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

为什么防火墙会阻止localhost连接?

当我在localhost上侦听端口时,Windows将弹出一个对话框,用户必须将我的程序添加到防火墙例外列表中.这很烦人,并且需要用户可能没有的管理员权限.

为什么Windows会为环回连接(127.0.0.1)执行此操作,是否有一些技巧可以防止这种情况发生?

.net sockets firewall tcp socketexception

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

如何远程唤醒电话?

我想构建一个Android应用,该应用需要通过3G远程启动(在通过套接字收到推送通知之后)。

我做了一些研究,似乎一旦屏幕关闭它就变得非常复杂,也是因为Android杀死了空闲的套接字。

是否有一个示例项目演示了如何可靠地实现这一目标?我找到了WakefulIntentService库,但它没有考虑到套接字需要保持活动状态。

一种替代方法是定期轮询某个URL以获取唤醒信号,但这会在设备检测到需要启动应用程序之前引入较大的延迟,具体取决于轮询间隔。

android xamarin.android android-wake-lock xamarin

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

Java 的 SettableFuture 和 ListenableFuture 在 C# 中的等价物是什么?

我正在将使用并发 Guava 库的 Java 代码移植到 C#。我遇到过SettableFuture和的许多用法ListenableFuture

是否有一个 C# 类非常接近这种模式?或者是否存在 C# 包装器?因为我想尽可能少地改变代码的流程。

.net c# java porting guava

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