在GNU makefile中,我想知道是否有可能通过文件列表输入来创建带有新扩展名的文件列表输出.
在输入中,我得到这个列表:
FILES_IN=file1.doc file2.xls
Run Code Online (Sandbox Code Playgroud)
我想在FILES_IN变量的makefile中构建这个变量:
FILES_OUT=file1.docx file2.xlsx
Run Code Online (Sandbox Code Playgroud)
可能吗 ?怎么样 ?
这很困难因为我必须解析文件列表,并检测每个扩展名(.doc,.xls)以将其替换为正确的扩展名.
我使用.jar开发一个项目来重用代码.
所以我在.jar上命名为TOOLS.jar,我在文件HelloWorld.java中开发了一个简单的应用程序,它从TOOLS.jar引用我的包TOOLS
我用这个命令行编译:
javac -g -d C:\MyApp -cp TOOLS.jar HelloWorld.java
Run Code Online (Sandbox Code Playgroud)
它很成功,当我想执行我的应用程序时,我使用这个命令(我在C:\ MyApp文件夹中):
java -cp <path>\TOOLS.jar;. HelloWorld
Run Code Online (Sandbox Code Playgroud)
它很成功,但我的问题是:
当我有多个外部.jar时,如何执行我的应用程序?
我是否必须使用-cp选项在命令中添加每个?
有没有办法只生成一个二进制文件并执行它(与C程序一样的.exe)?
我正在尝试为我的iPhone项目构建一个.a静态库.
所以,我创建了一个新项目,并使用了模板Cocoa Touch Static Library.
然后,在XCode 4.0,我添加我的.m和.h文件.
我已成功构建项目,但没有.a文件创建在XCode,我看到类别中的.a文件,Products但显示为红色; 所以它不存在.
我不明白为什么我的构建按钮不创建.a文件,任何帮助?
我使用zlib库在Mac的命令行工具中进行数据压缩.
在Xcode 4上,我在zlib函数上得到一个错误"未定义的符号".
我在mac计算机上搜索libz.dylib,我找到了3个文件/Developer/Platforms/iPhoneOS.platform.
没什么/Developer/Platforms/MacOSX.platform.
为什么?在哪里可以找到我的用于architeture i386的libz.dylib库?
编译objective-c源代码和objective-c ++源代码时,我有所不同.
这里是test.h中Class1和Class2的声明:
#import <Foundation/Foundation.h>
@interface Class1 {
}
@end
@interface Class2 {
}
@end
Run Code Online (Sandbox Code Playgroud)
现在,这是test.m中的Objective-C实现:
#import "test.h"
@implementation Class1
/* static member */
static int mystatic;
@end
@implementation Class2
/* static member */
static int mystatic;
@end
Run Code Online (Sandbox Code Playgroud)
我用这个命令成功编译:
gcc -arch armv6 -isysroot /Developer/.../iPhoneOS5.0.sdk -x objective-c -c test.m
Run Code Online (Sandbox Code Playgroud)
现在我完全使用这个Objective-C++实现test.mm(完全相同的源代码):
#import "test.h"
@implementation Class1
/* static member */
static int mystatic;
@end
@implementation Class2
/* static member */
static int mystatic;
@end
Run Code Online (Sandbox Code Playgroud)
并使用此命令行进行编译(-x选项中的差异):
gcc -arch armv6 -isysroot /Developer/.../iPhoneOS5.0.sdk -x objective-c++ -c …Run Code Online (Sandbox Code Playgroud) 我使用makefile来编译我的C#项目.在这个makefile中,我创建了一个库tools.dll,调用csc.exe,OK.
现在,我想在我的项目中使用这个.dll.出于某些原因,我必须使用使用.csproj文件的MSBuild.exe.在.csproj文件中我添加了这一部分:
<Reference Include="TOOLS">
<HintPath>C:\Gen\Lib\TOOLS.dll</HintPath>
</Reference>
Run Code Online (Sandbox Code Playgroud)
这很好用!
但我的问题是:如何从MSBuild命令行添加tools.dll引用?
我需要它,在makefile中调用MSBuild.exe并为其提供tools.dll文件的路径
我尝试在我的应用程序编译中包含一个.jar编译.
我使用ant来编译我的Android应用程序.
当我将此任务添加到build.xml时:
<javac srcdir="${src}"
classpath="xyz.jar" />
Run Code Online (Sandbox Code Playgroud)
android包导入时编译失败:
[javac] Compiling 1 source file
[javac] C:\HelloWorld\src\com\example\hellowolrd\HelloWorld.java:3: package android.app does not exist
[javac] import android.app.Activity;
[javac] ^
Run Code Online (Sandbox Code Playgroud)
而当我的任务不在build.xml中时,编译成功了.
这是一个简单的问题:
您如何看待每次使用try catch的代码?
void myfunction() {
try {
instruction1();
}
catch (ExceptionType1 e) {
// some code
}
try {
instruction2();
}
catch (ExceptionType2 e) {
// some code
}
try {
instruction3();
}
catch (ExceptionType3 e) {
// some code
}
try {
instruction4();
}
catch (ExceptionType4 e) {
// some code
}
// etc
}
Run Code Online (Sandbox Code Playgroud)
我知道这太可怕了,但我想知道这是否会降低性能.
我有一个关于接口和类实现接口的问题.
这是我的代码:
interface iMyInterface {
public iMethod1();
}
public class cMyClass implements iMyInterface {
public iMethod1() {
// some code
}
protected iMethod2() {
// some code
}
}
Run Code Online (Sandbox Code Playgroud)
我想创建一个如下的实例iMyInterface:
iMyInterface i = new cMyClass();
i.iMethod1();
Run Code Online (Sandbox Code Playgroud)
没关系,但我如何iMethod2()从我的界面实例调用?这是否有效且安全:
((cMyClass)i).iMethod2();
Run Code Online (Sandbox Code Playgroud)
感谢帮助.
我开发了一个桌面应用程序,这是一个简单的Windows版.exe.
它在Windows 8上运行正常.
我现在尝试使用"吐司通知"来为用户显示一些警报.
所以我使用Microsoft样本进行了培训,可在此处获取:http://code.msdn.microsoft.com/windowsdesktop/sending-toast-notifications-71e230a2/
它工作正常,但我必须创建一个我的应用程序的快捷方式来使用Toast通知.
我试图删除快捷方式创建,但它不起作用.我理解,因为对于桌面应用程序,快捷方式是Toast通知的先决条件,因为您可以在Microsoft网站上阅读:http://msdn.microsoft.com/en-us/library/windows/apps/hh802768.aspx
我的问题很简单.如果用户决定删除快捷方式(在他的个人资料文件夹中是.lnk),如何在没有此快捷方式的情况下使我的Toast通知正常工作?
如果没有创建快捷方式,我不希望每次都在运行时创建快捷方式,因为用户决定删除它,并且每次创建时都不正确.
那么,有没有办法在没有快捷方式的情况下从桌面应用程序使用Toast通知?
java ×4
jar ×2
objective-c ×2
static ×2
xcode ×2
android ×1
ant ×1
build ×1
c# ×1
c++ ×1
casting ×1
class ×1
classpath ×1
compilation ×1
dll ×1
executable ×1
gnu-make ×1
interface ×1
ios ×1
linker ×1
makefile ×1
msbuild ×1
redefinition ×1
reference ×1
symbols ×1
toast ×1
try-catch ×1
winapi ×1
windows-8 ×1