这段代码:
#include <iostream>
#include <cstdio>
#include <fstream>
#include <string>
int main()
{
std::remove("test.txt");
std::fstream f("test.txt",std::ios::in | std::ios::out | std::ios::binary | std::ios::trunc);
std::cout << f.good() << std::endl;
f<<"test"<< std::flush;
std::cout << f.tellg() << " " << f.tellp() << std::endl;
f.seekg(0);
std::string s;
f>>s;
std::cout << f.tellg() << " " << f.tellp() << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
在gcc-4.4.5中给出以下输出
1
4 4
4 4
Run Code Online (Sandbox Code Playgroud)
即tellg和tellp返回预期的流位置4.
而gcc-4.6.0
得到:
1
4 4
-1 4
Run Code Online (Sandbox Code Playgroud)
我在哪里可以找到参考资料:
undefined reference to _dso_handle使用Android x86工具链调试链接错误()时,我注意到它是静态链接crtbegin_dynamic.o.这个文件的目的是什么?crtbegin.o工具链安装目录中还有另一个类似的包含缺少的符号(_dso_handle).crtbegin.o和crtbegin_dynamic.o有什么区别?
嗨伙计们我正在使用android ndk而且我正在尝试使用javah工具创建ac头文件如何使用以及在哪里使用此工具我无法理解所以请任何人都可以告诉我程序如何做到这一点我是请等待回复.........
我有一些*.cpp源文件和一些*.s ARM汇编程序文件,我想在我的Android.mk文件中组装和链接(通过运行ndk-build脚本).
我的Android.mk文件如下所示:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm
LOCAL_MODULE := libTestJNI
LOCAL_SRC_FILES := Test.cpp TestAS_gas4.s
LOCAL_CFLAGS := -DHAVE_CONFIG_H -DFPM_ARM -ffast-math -O3 -DOPT_ARM
LOCAL_LDLIBS += -llog
include $(BUILD_SHARED_LIBRARY)
Run Code Online (Sandbox Code Playgroud)
不幸的是,*.s文件无法识别.ndk-build说:
Gdbserver : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver
Gdbsetup : libs/armeabi/gdb.setup
make: *** No rule to make target `/cygdrive/c/projects/TestAS_gas4.s', needed by `/cygdrive/c/projects/obj/local/armeabi/objs-debug/libTestJNI/TestAS_gas4.o'. Stop.
Run Code Online (Sandbox Code Playgroud)
在"普通"makefile中,我必须在规则中使用"as"进行汇编.它是如何在Android.mk文件中完成的?
/金
我一直在搞乱Android API的AudioRecord功能,并发现了一些奇怪的行为.
背景信息:我的手机是HTC Incredible我使用Eclipse插件进行Android开发与模拟器.目标平台或操作系统是2.2 ...因为它是我的手机使用的.
一些代码:
bufferSize = AudioRecord.getMinBufferSize(FREQUENCY, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT);
audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC, FREQUENCY, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT, bufferSize);
Run Code Online (Sandbox Code Playgroud)
这是我用来设置AudioRecord API的代码.现在,对于模拟器,它将FREQUENCY设置为8000以使其工作.回来的缓冲区大小为640.对于手机,我使用44100.这里的一个问题是看起来波形的PCM数据似乎是8位有符号波.我得到的值从-127到128.我认为价值AudioFormat.ENCODING_PCM_16BIT会产生不同的东西.
我用线程处理音频,
public void run() {
while(isRecording) {
audioRecord.startRecording();
byte[] data = new byte[bufferSize];
audioRecord.read(data, 0, bufferSize);
listener.setData(data);
handleData(data);
}
audioRecord.release();
}
Run Code Online (Sandbox Code Playgroud)
我有一种方法可以使用a以图形方式实时显示相应的波形SurfaceView.MIC似乎有很多噪音.我也从模拟器和手机中得到了这个噪音.我是否需要通过某种过滤器运行数据?我想用这些数据计算一些有趣的FFT和东西只是为了解决这个问题.但我需要以某种方式减少噪音.
有没有其他人经历过这一点.有没有人有办法解决吗?
我很感激你的时间和回应,谢谢,dk
在这个例子中:
| | num |
|---+-----|
| | 5 |
| | 6 |
| | 4 |
|---+-----|
| # | 15 |
| ^ | sum |
#+TBLFM: $sum=vsum(@2..@-1);
Run Code Online (Sandbox Code Playgroud)
每次在总和区域或C-c C-c表格下方的表格公式区域中按"tab"时,它将重新计算总和区域.问题是在它重新计算这个区域后,它将这个新的总和加到已经在该区域的当前总和.(在你的emacs中尝试).
我已经创建了这个基本测试,以显示我在组织中创建复杂电子表格时遇到的问题.直到我找到一个解决方案,我不能相信emacs给我的总和,因为我可能偶尔会按C-c C-c两次,并且每次重新计算时都不得不去除我表格中的所有和值.
如果有人知道解决方案,请告诉我.
我注意到android.media.AudioRecord使用错误时无法正常工作sampleRateInHz
您还可以使用Samsung Nexus S(Google)上的pcmrecorder轻松复制该问题:
https://market.android.com/details?id=com.kohei.android.pcmrecorder
http://ko-yasui.com/home/pcmrecorder/
因此,当硬件音频芯片支持高达96KHz时,它无法以48Khz记录:
http://www.wolfsonmicro.com/products/audio_hubs/WM8994/
这是设备/固件错误还是已知限制?
请注意,android平台只能确保大约44100Hz(甚至不是24KHz)
http://developer.android.com/reference/android/media/AudioRecord.html
sampleRateInHz:采样率以赫兹表示.44100Hz是目前唯一保证在所有设备上工作的速率,但其他速率如22050,16000和11025可能适用于某些设备.
您将找到一个示例代码来重现这些问题:
https://github.com/rzr/rzr-android-test/blob/api-android-media/src/fr/online/rzr/test/
如何克服这个限制?
可以使用任何其他API吗?opensl,alsa,openal?如何 ?
alsa驱动程序可以从用户端重新配置,以便能够在44100Hz以上采样?(.asoundrc)
是否可以在不重新刷新/生根/重启设备的情况下执行此类操作
否则如何解决这个问题?使用本机代码有效地进行上采样(插值)?
我想从javascript文件中发出信号并在qml文件中接收它(要查找耗时的操作何时完成).
我该怎么做?
是.apk文件支持Tizen基于操作系统的安装?
在Mac上运行Docker,我可以构建我的图像,但在运行时,我收到以下错误:
/bin/sh: 1: [: missing ]
Run Code Online (Sandbox Code Playgroud)
我使用dockerfile,requirements.txt和python脚本文件在本地目录中创建映像. - 3个文件 - 使用docker build
Dockerfile:
FROM python
COPY "requirements.txt"
RUN pip install -r requirements.txt
COPY "quandlData.py"
CMD [ "python", "./quandlData.py"
Run Code Online (Sandbox Code Playgroud)
- 简单的脚本,从quandl API获取一些数据,并从正在运行的redis服务器获取写入.要运行,我只是使用docker run image_name
在规则文件中,通过传递参数"LABEL"和"DEVNAME"来执行脚本以进行安装
ACTION=="add", RUN+="/appmount/scripts/usb_mount.sh %E{ID_FS_LABEL} %E{DEVNAME}"
Run Code Online (Sandbox Code Playgroud)
在usb_mount.sh文件中,将参数值打印为
echo "LABEL: $1 DEVNAME: $2" # this does not work reliably
Run Code Online (Sandbox Code Playgroud)
某些设备具有空的LABEL字段,因此DEVNAME被打印为标签.在bash脚本中,我们可以用双引号传递args,即使args为null也可以工作.
将args传递给udev规则的相同之处是什么?
此问题的解决方法可能是切换参数的顺序.有可靠的方法吗?
当我使用 Eclipse CDT 时(这个问题现在已经存在多个版本),前期索引索引了一堆 C 头文件,并用 100 个我永远不会使用的 C 函数污染了代码完成。
这使我无法一目了然地轻松查看我所在的命名空间中的实际内容,这真的很烦人。
为什么它们甚至默认包含在内,有没有办法删除它们?即使是丑陋的解决方法也很好,我只是想要一种方法来摆脱它们,而不会破坏我的代码。
我的智慧结束了.找不到任何有助于此的内容.
dta = {'type': "", 'content': ""}
print dta
Run Code Online (Sandbox Code Playgroud)
>>>{'content': '', 'type': ''}
setattr(dta, 'type', "Steve")
Run Code Online (Sandbox Code Playgroud)
>>>AttributeError: 'dict' object has no attribute 'type'
android ×5
android-ndk ×3
gcc ×3
audiorecord ×2
sample-rate ×2
alsa ×1
apk ×1
assembly ×1
audio ×1
bash ×1
c ×1
c++ ×1
calculator ×1
docker ×1
eclipse ×1
eclipse-cdt ×1
emacs ×1
export ×1
formula ×1
indexing ×1
iostream ×1
java ×1
javah ×1
javascript ×1
linux ×1
macos ×1
mobile ×1
nexus-s ×1
org-mode ×1
pcm ×1
python ×1
qml ×1
qt ×1
qt-quick ×1
qt4 ×1
setattr ×1
setattribute ×1
shell ×1
spreadsheet ×1
store ×1
tizen ×1
udev ×1
variables ×1