问题列表 - 第13893页

为什么"long*"和"int*"在32位代码中不兼容?

我想知道为什么以下代码无法编译:

void foo_int(int *a) { }
void foo_long(long *a) { }

int main()
{
    int i;
    long l;

    foo_long(&i);
    foo_int(&l);
}
Run Code Online (Sandbox Code Playgroud)

我正在使用GCC,并且这两个调用都不能在C或C++中工作.由于它是一个32位系统,因此intlong都是带符号的32位整数(可以在编译时使用sizeof进行验证).

我问的原因是我有两个单独的头文件,都不在我的控制之下,而且有一个像:typedef unsigned long u32;和另一个:typedef unsigned int uint32_t;.声明基本上是兼容的,除非我在上面的代码片段中使用它们作为指针,我必须显式转换.

知道为什么会这样吗?

c c++

8
推荐指数
4
解决办法
2231
查看次数

WPF以编程方式实例化用户控件以将其呈现为PNG

我想以编程方式在DLL中实例化用户控件,然后将其保存为PNG文件.这通常没有PngBitmapEncoder和RenderTargetBitmap的问题.

这是我的问题:

  • 如何实例化控件?只需使用新运营商?
  • 我是否必须在单独的线程中实例化它?
  • 如何强制控件更新其所有子节点并再次渲染自身?

这是我实例化用户控件并将其保存为PNG文件的代码(LetterFrequency是用户控件):

    [STAThread]
    static void Main(string[] args)
    {
        LetterFrequency let = new LetterFrequency();
        let.Width = 600;
        let.Height = 400;
        let.Background = Brushes.White;

        let.Measure(new Size(let.Width, let.Height));
        let.Arrange(new Rect(new Size(let.Width, let.Height)));

        let.UpdateLayout();

        RenderTargetBitmap bitmap = new RenderTargetBitmap((int)let.Width, (int)let.Height, 96d, 96d, PixelFormats.Pbgra32);
        bitmap.Render(let);

        PngBitmapEncoder png = new PngBitmapEncoder();
        png.Frames.Add(BitmapFrame.Create(bitmap));

        using (Stream stm = File.Create("test.png"))
        {
            png.Save(stm);
        }
    }
Run Code Online (Sandbox Code Playgroud)

如果以这种方式运行应用程序,它会生成PNG文件,但是将在XAML中添加的数据不可见,如果查看XAML Designer,您可以看到带有一些气泡的图表.png文件只包含图表区域,但没有气泡?为什么?我认为是一个更新/渲染问题,但如何解决这个问题?

这是visual studio解决方案,它包含Console Project,它将用户控件呈现给PNG文件以及图表的WPF工具包的另外两个项目.

看看它,它将分别在exe文件夹中的bin/Debug中生成PNG文件:http://www.file-upload.net/download-1904406/ChartRenderBitmap.zip.html

希望它没有问题!

谢谢!

wpf controls refresh instantiation

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

C#字符串替换,无法正常工作

我有一个字符串,我从中读到:

TextReader tr = new StreamReader(this.dataPath );
string contents = tr.ReadToEnd(); 
Run Code Online (Sandbox Code Playgroud)

内容的价值以:

"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n....."
Run Code Online (Sandbox Code Playgroud)

当我尝试执行时

        string styleSheet = "<?xml-stylesheet type=\"text/xsl\" href=\"message.xsl\"?>";
        string xmlString = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
        TextReader tr = new StreamReader(this.dataPath );
        string contents = tr.ReadToEnd(); 
        contents.Replace(xmlString,xmlString + styleSheet );
Run Code Online (Sandbox Code Playgroud)

它绝对不会找到第一次出现的XmlString.有什么想法吗?

c# string

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

Pythonic是否可以根据函数的输入返回可迭代或不可迭代的函数?

(阅读Alex的答案后更新了标题和内容)

一般来说,我认为它被认为是一种函数的坏形式(非Pythonic),有时根据其参数返回可迭代的,有时是单个项.

例如,struct.unpack即使它只包含一个项目,也总是返回一个元组.

我正在尝试最终确定模块的API,并且我有一些函数可以采用一个或多个参数(via *args),如下所示:

a = s.read(10)        # reads 10 bits and returns a single item
b, c = s.read(5, 5)   # reads 5 bits twice and returns a list of two items.
Run Code Online (Sandbox Code Playgroud)

因此,如果只有一个参数,则返回单个项目,否则返回列表.现在我认为这很好,并不会令人困惑,但我怀疑其他人可能不同意.

这些函数最常见的用例是只返回一个项目,所以总是返回一个列表(或元组)感觉错误:

a, = s.read(10)       # Prone to bugs when people forget to unpack the object
a = s.read(10)[0]     # Ugly and it's not clear only one item is being returned
Run Code Online (Sandbox Code Playgroud)

另一个选择是有两个功能:

a = s.read(10)
b, c = s.read_list(5, 5)
Run Code Online (Sandbox Code Playgroud)

这没关系,但它使API混乱并要求用户记住两倍的功能而不添加任何值.

所以我的问题是:有时会返回一个可迭代的,有时一个项目令人困惑和非Pythonic?如果是这样,什么是最好的选择? …

python return-value

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

为什么我不能在asp内部进行绑定:Textbox的Text属性?

我有以下DataList:

<asp:DataList ID="values" Visible="false" runat="server" DataKeyField="Id">
<ItemTemplate>
    <div id="row" style="height: 25px; vertical-align: top">
        <div id="left" style="visibility: hidden; width: 25px">
            <%# DataBinder.Eval(Container.DataItem, "Id") %>
        </div>
        <div id="middle" style="width: 400px">
            <%# DataBinder.Eval(Container.DataItem, "Name") %>
        </div>
        <div id="right" style="width: 200px">
            <asp:TextBox ID="txtValue" CssClass="required number" runat="server">
            <%# DataBinder.Eval(Container.DataItem, "Value") %>
            </asp:TextBox>
        </div>
    </div>
</ItemTemplate>
</asp:DataList>
Run Code Online (Sandbox Code Playgroud)

我想绑定文本框初始值,但Intellisense说我不能写这个块来绑定TextBox的Text属性.

在不考虑代码隐藏的情况下,我有哪种替代方案?

asp.net data-binding textbox

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

PHP验证Playstation网络

我试图完成的总结:我在PS3和第一场游戏纪念碑谷上玩mottorm,ms网站上没有排行榜.这意味着我无法抓住排行榜数据.现在我对我的ps3进行了连线操作,我看到了纪念碑山谷用于获取排行榜数据的请求.现在我复制了php curl中的请求标题,但它一直让我拒绝访问.

有没有你知道的资源可以帮助我在PSN上验证自己作为PS3?

php curl

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

什么是阵列衰减?

什么是阵列的衰变?与数组指针有关系吗?

c c++ arrays pointers

358
推荐指数
8
解决办法
5万
查看次数

跨多个浏览器/ ISP连接识别同一用户

我经营一个电影节网站,接受电影评级,我关注的是阻止人们欺骗系统(即提交多个评级来修复前十名).

我已经使用了IP地址和浏览器戳检查等技术,但我知道有些人试图通过更改ISP连接或浏览器来欺骗系统.

人们使用什么技术来识别跨多个浏览器的相同用户以及可能不同的IP地址(即不同的ISP连接)?

我并不认为这是万无一失的,只是试图让我的检查尽可能好,以劝阻偶然的罪犯.

javascript php browser identity

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

实体框架 - 使用.Include进行继承?

我认为这里有类似的帖子,但不完全一样......

我的EF模型中有两个实体 - 让我们称之为Person和Developer,后者继承自前者.

我还有一个名为Qualifications的开发者协会.这在Person实体上不可见.

如果我正在针对上下文编写查询,我该如何自动.Include()开发人员的资格,例如

来自员工的context.Employee .Include("Qualifications")选择员工

不起作用...... EF抱怨这种关系不存在(我假设因为它在Employee上不存在 - 但是在上下文中没有Developer实体,只有Employee).

entity-framework

9
推荐指数
2
解决办法
8341
查看次数

如何在ruby中显示错误类型?

在以下代码中

begin
 raise StandardError, 'message'
 #some code that raises a lot of exception
rescue StandardError
 #handle error
rescue OtherError
 #handle error
rescue YetAnotherError
 #handle error
end
Run Code Online (Sandbox Code Playgroud)

我想打印一个警告,说明错误的类型和消息,而不是为每个救援条款添加print语句,例如

begin
 raise StandardError, 'message'
 #some code that raises a lot of exception
rescue StandardError
 #handle error
rescue OtherError
 #handle error
rescue YetAnotherError
 #handle error
???
 print "An error of type #{???} happened, message is #{???}"
end
Run Code Online (Sandbox Code Playgroud)

ruby exception

27
推荐指数
3
解决办法
3万
查看次数