考虑以下代码:
#include <vector>
void Example()
{
std::vector<TCHAR*> list;
TCHAR* pLine = new TCHAR[20];
list.push_back(pLine);
list.clear(); // is delete called here?
// is delete pLine; necessary?
}
Run Code Online (Sandbox Code Playgroud)
list.clear()是否在每个元素上调用delete?即我必须在list.clear()之前/之后释放内存吗?
我试图通过实时截止日期提高线程应用程序的性能.它在Windows Mobile上运行,用C/C++编写.我怀疑高频率的线程切换可能会导致切实的开销,但既不能证明它也不能反驳它.众所周知,缺乏证据并不是相反的证明:).
因此我的问题是双重的:
如果存在,我在哪里可以找到切换线程上下文的成本的任何实际测量值?
如果不花时间编写测试应用程序,有哪些方法可以估算现有应用程序中的线程切换开销?
有没有人知道找出给定线程的上下文切换次数(开/关)的方法?
我在Android中创建命名管道时遇到了麻烦,下面的例子说明了我的困境:
res = mkfifo("/sdcard/fifo9000", S_IRWXO);
if (res != 0)
{
LOG("Error while creating a pipe (return:%d, errno:%d)", res, errno);
}
Run Code Online (Sandbox Code Playgroud)
代码始终打印:
Error while creating a pipe (return:-1, errno:1)
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚为什么会失败.该应用程序具有android.permission.WRITE_EXTERNAL_STORAGE权限.我可以在同一位置创建具有完全相同名称的普通文件,但管道创建失败.有问题的管道应该可以从多个应用程序访问.
我有一个服务,当最顶层的Activity更改时,它的行为必须改变.比如,活动A处于活动状态,然后服务开始某种处理.当活动A不再可见时,此处理必须停止:用户按下"返回","主页"或执行任何使活动A不可见的操作.此活动A必须不知道该服务 - 即它必须不必明确告知服务它正在消失.
简而言之,有没有办法:
PS这可能听起来像恶意软件行为,但事实并非如此!这是合法的用例!
编辑:活动不在我的应用程序中.它们几乎可以是任何东西 - 浏览器,地图应用程序,设置等.
有一个遗留的CVS存储库,其中包含大量目录,子目录和路径.还有大量的分支和标签,不必覆盖所有路径和文件 - 通常是一个子集.我怎样才能找出哪个分支/标签涵盖了哪些文件和路径?
CVS日志已经提供了每个文件的标签列表.该任务要求我将其转换为每个标签的文件.我在当前的WinCVS(CVSNT)实现中找不到这样的功能.给定充足的空循环,我可以编写一个Perl脚本来做到这一点,算法并不复杂,但需要完成.
我想有些人需要这些信息并解决了这个问题.因此,我认为应该是一个随时可用的(开源/免费)工具.
我正在考虑制作一个(最初)小型Web应用程序,它最终有可能增长.所有被认为是Google App Engine的东西似乎都是非常有吸引力的选择.比如,用户群和复杂性都在增长,出于一个或另一个原因,我需要将GAE抛在身后.迁移离开有多困难?
1)GAE是否提供了导出数据库的方法?它是什么格式?难道把它放在MySQL(或类似的)下吗?
2)我必须使用GAE API在哪些区域(例如数据库访问,其他?)?即哪些部分的实现必须被抽象掉/接口?
编辑:3)或者,是否值得抽象GAE API?
已经讨论过好的文件比较工具,但是我的问题更具异国情调.是否有任何可视文本比较工具(如WinMerge)可以让我轻松地在同一个文件中的两个部分进行视觉比较?
我在vcproj文件中有多个配置,需要维护它们.手动执行此操作非常痛苦 - 拆分窗口,逐个字符滚动.最重要的是,xml非常冗长,需要大量的屏幕空间.我不敢相信没有工具可以进行自动文件部分比较,因为这听起来像是一个非常常见的问题.
请不要让我使用属性页面,我不想要更复杂,我想要更少.手动拆分成文件,然后比较它们也太过中世纪(我现在正在这样做).
根据Android SDK,MediaRecorder.setCamera可用于回收现有的摄像头实例以进行视频捕获和预览,而无需重置预览.我无法找到任何样本,我的所有尝试都是徒劳的:我要么得到错误的状态异常,要么MediaRecorder.prepare失败.
供参考:http: //developer.android.com/reference/android/media/MediaRecorder.html#setCamera(android.hardware.Camera)
我的目标是使用可在Windows Mobile和"普通"桌面Windows上运行的UI构建应用程序.优先考虑的是它在Windows Mobile下"看起来很好",而对于桌面Windows,如果它失真则可以.在我投入几天尝试之前,我想听听是否可以开始.这个问题有几个部分:
.NET Compact Framework是"正常"(请编辑).NET Framework的子集吗?如果没有,MSDN在.NET Compact Framework中的类上是否有任何信息,但在"普通"(再次,请,编辑)框架中没有?
两个框架中共享类的行为是否相同?
是否可以为两个平台提供单个Visual Studio 2005解决方案/项目?如果是,请如何设置?
还有其他意见和建议吗?任何相关链接?
这是所有C#专家.我已经在这个问题上敲了一段时间,在网上尝试各种建议但没有用.该操作发生在Windows Mobile 5.0中.
我有一个名为MyDll.dll的DLL.在MyDll.h我有:
extern "C" __declspec(dllexport) int MyDllFunction(int one, int two);
Run Code Online (Sandbox Code Playgroud)
MyDll.cpp中MyDllFunction的定义是:
int MyDllFunction(int one, int two)
{
return one + two;
}
Run Code Online (Sandbox Code Playgroud)
C#类包含以下声明:
[DllImport("MyDll.dll")]
extern public static int MyDllFunction(int one, int two);
Run Code Online (Sandbox Code Playgroud)
在同一个类中,我通过以下方式调用MyDllFunction:
int res = MyDllFunction(10, 10);
Run Code Online (Sandbox Code Playgroud)
这就是血腥的事情让我"无法找到PInvoke DLL'MyDll.dll'"的地方.我已经验证我可以在系统调用上实际执行PInvoke,例如"GetAsyncKeyState(1)",声明为:
[DllImport("coredll.dll")]
protected static extern short GetAsyncKeyState(int vKey);
Run Code Online (Sandbox Code Playgroud)
MyDll.dll与可执行文件位于同一文件夹中,我也尝试将其放入/ Windows文件夹中,没有任何更改也没有成功.任何建议或解决方案都非常感谢.
这是一个非常基本的问题,但是,从C++专家那里听到它会很好.
在C++中有两种相似的方法来声明by-reference参数.
1)使用"星号":
void DoOne(std::wstring* iData);
Run Code Online (Sandbox Code Playgroud)
2)使用"&"":
void DoTwo(std::wstring& iData);
Run Code Online (Sandbox Code Playgroud)
每种方法的含义是什么?在任何情况下都有任何问题吗?
奖金#1:在#1和#2中调用方法的正式方法是什么?它们都被称为"按参考"吗?
奖金#2:故意使用std :: wstring.在每种情况下,对标准库类有什么影响?
整个代码是用ANSI C编写的,它应该保持不变.我有一个像这样定义的回调:
typedef enum {
Event_One,
Event_Two,
Event_State
} EventEnum;
typedef void (*callback)(EventEnum event, void* data);
Run Code Online (Sandbox Code Playgroud)
回调接收者data根据event值解释.这是组件之间的契约.有时它是指向结构的指针,有时它可能是一个字符串,其他情况可能是其他数据.我正在定义一个额外的event并设置一个新的"合同",这data是一个枚举.像这样:
typedef enum {
State_Initial = 0,
State_Running,
State_Final
} StateEnum;
Run Code Online (Sandbox Code Playgroud)
然后代码中的某个地方我有一个回调函数,就是这样做的
void ProcessEvent (EventEnum event, void* data)
{
if (event == Event_State)
{
StateEnum state = (StateEnum)data; /* <<<<<<<<<<< */
switch (state) {
case State_Initial:
<...>
break;
case State_Running:
<...>
break;
case State_Final:
<...>
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
上面的回调被调用如下:
{
callback infoCallback = ProcessEvent; /* …Run Code Online (Sandbox Code Playgroud) Windows Mobile生态系统中是否有可用于生成GUID的现成API(C/C++)?我正在寻找简单的一次性API来做到这一点.如果需要编写整个算法或使用一些额外的第三方模块,我将在没有这个的情况下取消.
背景.要向用户显示通知,我使用SHNotificationAdd,它需要一个GUID.MSDN和其他来源中的示例显示GUID是硬编码的.但是,我想将SHNotification*包装在一个在我的应用程序的整体设计中很好地融合的类中.MSDN对SHNOTIFICATIONDATA-> clsid所代表的细节非常害羞.提到的"班级"提出的问题多于答案.