问题列表 - 第26497页

如何在 C 中实现回调函数?

海湾合作委员会 4.4.3 c89

我正在创建一个客户端服务器应用程序,我需要实现一些回调函数。

但是,我在回调方面不太有经验。我想知道是否有人知道设计回调时可以遵循的一些好的参考材料。是否有用于 c 的设计模式?我确实看过一些模式,但那里都是 C++。

非常感谢您的任何建议,

c

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

打开FlowDocument与XPS查看器一起保存为XPS文档?

我正在使用此代码和带有xps扩展名的fileName将WPF FlowDocument保存到文件系统:

// Save FlowDocument to file system as XPS document
using (var fs = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
    var textRange = new TextRange(m_Text.ContentStart, m_Text.ContentEnd);
    textRange.Save(fs, DataFormats.XamlPackage);
}
Run Code Online (Sandbox Code Playgroud)

我的应用可以使用以下代码重新加载文档:

// Load file
using (var fs = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
    m_Text = new FlowDocument();
    var textRange = new TextRange(m_Text.ContentStart, m_Text.ContentEnd);
    textRange.Load(fs, DataFormats.XamlPackage);
}
Run Code Online (Sandbox Code Playgroud)

但是,Windows 7附带的XPS Viewer无法打开文件.保存的XPS文件显示XPS图标,但是当我双击一个时,XPS查看器无法打开它.错误消息显示"XPS Viewer无法打开此文档".

知道我需要对XPS文档做什么才能让它可以通过XPS Viewer打开吗?谢谢你的帮助.

wpf xps flowdocument

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

Linux和I/O完成端口?

使用winsock,您可以将套接字或单独的I/O操作配置为"重叠".这意味着立即返回执行I/O的调用,而实际操作由单独的工作线程异步完成.

Winsock还提供"完成端口".据我所知,完成端口充当句柄(套接字)的多路复用器.如果句柄不在I/O操作的中间,即如果其所有I/O操作都已完成,则可以解复用句柄.

那么,关于我的问题...... linux是否支持完成端口甚至是套接字的异步I/O?

sockets linux posix asynchronous iocp

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

对2D点列表进行排序(首先是X然后是Y)

我试图先按x坐标,然后按y坐标对2D点列表进行排序.我实现了IComparer接口,如下所示:

class PointComparer : IComparer<Point>
{
    public int Compare(Point x, Point y)
    {
        if (x.Y != y.Y)
        {
            return x.Y - y.Y;
        }
        else
        {
            return x.X - y.X;
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

然后调用我的排序如下:

pointsList.Sort(new PointComparer());
Run Code Online (Sandbox Code Playgroud)

由于某种原因,列表不排序.肯定是非常简单和愚蠢的事情,但坚持了很长一段时间...... TIA

c# sorting icomparable points

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

如何使用预先存在的源为php开发设置eclipse ide

我一直在使用Dreamweaver进行Web开发,并希望尝试使用eclipse.我想将源文件保存在现在的位置.我需要为我的工作区设置什么,然后如何设置它以查看我现有的文件?

php eclipse ide

9
推荐指数
1
解决办法
5237
查看次数

在Cocoa/Objective-C/C中编写DLNA服务器(DMS)

我想在Cocoa中为Mac编写一个DLNA服务器.在Objective-C或C中是否有任何用于说UPnP/DLNA的库?如果失败了,DLNA的规格在哪里,我可以写自己的?

c macos cocoa objective-c dlna

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

如果用户关闭浏览器,是否有任何技术可以杀死用户登录会话?

如果打开多个窗口,这应该有效.

我的应用程序是在J2EE中.

我已经在window.unloadn上尝试了一些javascript,但这种解决方案并不牢固.

browser session java-ee

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

在ASP.NET MVC中尝试使用Automapper时,如何摆脱SecurityException错误?

我正在使用NHibernate开发一个ASP.NET MVC应用程序,我正在尝试使用Automapper从发送到视图的DTO对象中隐藏Domain对象:

  1. 带有我的域(用于NHibernate)和DTO对象的ClassLibrary
  2. SessionFactory在我的项目中创建和工厂的类库

我下载了AutoMapper来转换DTO中的Domain对象,并添加了代码来执行此操作Application_Start.

当我在VisualStudio中运行应用程序时(通过按F5),它工作正常,我的DTO映射到视图中.

当我在IIS中发布它时,我得到一个安全性异常:

Mapper.CreateMap<Category, CategoryDto>(); 
Mapper.CreateMap<Product, ProductDto>();
Run Code Online (Sandbox Code Playgroud)

System.Security.SecurityException:对类型'System.Security.Permissions.ReflectionPermission,mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的权限的请求失败.

如何在没有安全性异常的情况下使Automapper工作?

security iis asp.net-mvc securityexception automapper

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

iPhone:低内存崩溃

我再一次在我的代码中寻找内存泄漏和其他疯狂错误.:)

我有一个常用文件的缓存(图像,数据记录等,TTL大约一周,大小限制缓存(100MB)).目录中有时超过15000个文件.在应用程序退出时,缓存会写入一个控制文件,其中包含当前缓存大小以及其他有用信息.如果应用程序由于某种原因崩溃(有时会发生),我在这种情况下计算应用程序启动时所有文件的大小,以确保我知道缓存大小.我的应用程序崩溃,因为内存不足,我不知道为什么.

内存泄漏检测器根本不显示任何泄漏.我也没有看到.下面的代码有什么问题?有没有其他快速的方法来计算iPhone上目录中所有文件的总大小?也许没有枚举目录的全部内容?代码在主线程上执行.

NSUInteger result = 0;
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSDirectoryEnumerator *dirEnum = [[[NSFileManager defaultManager] enumeratorAtPath:path] retain];
int i = 0;
while ([dirEnum nextObject]) {
   NSDictionary *attributes = [dirEnum fileAttributes];
   NSNumber* fileSize = [attributes objectForKey:NSFileSize];
   result += [fileSize unsignedIntValue];

   if (++i % 500 == 0) { // I tried lower values too   
      [pool drain];
   }
}
[dirEnum release];
dirEnum = nil;
[pool release];
pool = nil;
Run Code Online (Sandbox Code Playgroud)

谢谢,MacTouch

iphone crash memory-leaks

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

用新的随机生成的值替换数组中的重复值

我有一个函数(来自之前没有回答的问题),它创建了一个包含n个值的数组.数组的总和等于$ max.

function randomDistinctPartition($n, $max) {
  $partition= array();
  for ($i = 1; $i < $n; $i++) {
    $maxSingleNumber = $max - $n;
    $partition[] = $number = rand(1, $maxSingleNumber);
    $max -= $number;
  }
  $partition[] = $max;
  return $partition;
}
Run Code Online (Sandbox Code Playgroud)

例如:如果我设置$ n = 4和$ max = 30.那么我应该得到以下内容.

array(5, 7, 10, 8);
Run Code Online (Sandbox Code Playgroud)

但是,此功能不考虑重复项和0.我想要 - 并且一直在努力完成 - 是生成一个具有唯一数字的数组,这些数字加起来我的预定变量$ max.没有重复的数字,没有0和/或负整数.

php algorithm combinatorics data-partitioning

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